How can I use cURL (or any command line tool) to do an HTTP Post to Twitter, with OAuth authentication? How can I use cURL (or any command line tool) to do an HTTP Post to Twitter, with OAuth authentication? curl curl

How can I use cURL (or any command line tool) to do an HTTP Post to Twitter, with OAuth authentication?


Well, you're not the only one that's wished they could try out an OAuth-protected API with a simple curl command. You might look at oauth-proxy which sets up an HTTP proxy on your own machine with the appropriate parameters for tokens and secrets. Then any request which uses that proxy (like a curl command, for example, or even a web browser that's configured to use it) will automatically be signed with all the appropriate OAuth parameters.

Seth's walkthrough even includes the example of Twitter, so you should be able to follow the instructions step-by-step (assuming Twitter's OAuth works the same way it did in September 09).

This isn't quite as simple as a single line, since it involves installing some software and at least one additional command for setting up the proxy. But it should at least enable the goal of allowing easy, single-line tests with curl once things are set up.


Twitter actually came out with a modified version of cURL call Twurl. It is a ruby GEM that should do what you need.


I don't think you can do it in one shot. OAuth requires that you respond with the token when you make the status request, which would be outside the scope of a single one-line curl request.

What you could do instead is use a simple library like the Twitter Ruby gem, which would be able to accept parameters at the command line and then produce the appropriate results.