I did some further investigating and discovered that curl --location --referer ";auto" -D - -s --netrc "http://twitter.com/account/verify_credentials.xml"
works fine but curl --location --referer ";auto" -D - -s --netrc "http://api.twitter.com/1/account/verify_credentials.xml" fails. (I still can't use Tweetie on the Mac or iPhone.) Headers of each reproduced below: $ curl --location --referer ";auto" -D - -s --netrc "http://api.twitter.com/1/account/verify_credentials.xml" HTTP/1.1 401 Unauthorized Date: Tue, 02 Mar 2010 16:37:15 GMT Server: hi Status: 401 Unauthorized WWW-Authenticate: Basic realm="Twitter API" X-Runtime: 0.00307 Content-Type: application/xml; charset=utf-8 Content-Length: 154 Cache-Control: no-cache, max-age=1800 Set-Cookie: guest_id=1267547834998; path=/ Set-Cookie: _twitter_sess=BAh7CDoPY3JlYXRlZF9hdGwrCHcKvR8nAToHaWQiJWU0NTU1ODgxNjBjNWVh%250AZGM2OTMwM2I5MDdjMDg1NmNhIgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVy%250AOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--0de412a9e08a3cb8829112c54e5ad75aff686ce5; domain=.twitter.com; path=/ Expires: Tue, 02 Mar 2010 17:07:13 GMT Vary: Accept-Encoding Connection: close <?xml version="1.0" encoding="UTF-8"?> <hash> <request>/1/account/verify_credentials.xml</request> <error>Could not authenticate you.</error> </hash> $ curl --location --referer ";auto" -D - -s --netrc "http://twitter.com/account/verify_credentials.xml" HTTP/1.1 200 OK Date: Tue, 02 Mar 2010 16:37:04 GMT Server: hi Status: 200 OK X-Transaction: 1267547824-13464-26726 ETag: "0a11cb52548d01603901042ed8792fa6" Last-Modified: Tue, 02 Mar 2010 16:37:04 GMT X-Runtime: 0.08553 Content-Type: application/xml; charset=utf-8 Content-Length: 2095 Pragma: no-cache X-Revision: DEV Expires: Tue, 31 Mar 1981 05:00:00 GMT Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0 Set-Cookie: guest_id=1267547824009; path=/ Set-Cookie: lang=en; path=/ Set-Cookie: _twitter_sess=BAh7CToRdHJhbnNfcHJvbXB0MDoPY3JlYXRlZF9hdGwrCMLfvB8nAToHaWQi%250AJTUzZDQyZmI3Mzk5MWY0NjZiNTMxY2FlYzUxM2ZlNjI5IgpmbGFzaElDOidB%250AY3Rpb25Db250cm9sbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--79e5002cee6eb1cdf89d398c45e79ff80f2e66b0; domain=.twitter.com; path=/ Vary: Accept-Encoding Connection: close {I removed the rest since it seemed superfluous, but it gave me all the right information}