Hi Ryan, I think part of the problem is that user id 1255997062 does not exist, so it should really be returning a 404 instead of a 401. Do you get the same 401 result with a known valid user id?
-Chad On Tue, Oct 20, 2009 at 3:13 PM, Ryan Rosario <uclamath...@gmail.com> wrote: > > Correct. I thought that was weird, but didn't know what to make of it. > Same IP. > The unauthenticated call was from an IP that is not whitelisted, so > 150/hr. > The second call was from the same IP, but authenticated as a > whitelisted account, so should be 20000/hr. > > I usually only work from the whitelisted IPs, but wanted to check an > IP that had never been used before for data mining. > > > On Oct 20, 11:36 am, Dewald Pretorius <dpr...@gmail.com> wrote: >> Apart from the 401 issue, the following is also very weird: >> >> < X-experimental-RLS-remaining: 0 >> < X-experimental-RLS-maxvalue: 150 >> < X-RateLimit-Limit: 20000 >> >> This is on the second authenticated call. On the unauthenticated call >> X-RateLimit-Limit was 150. I assume both calls were made from the same >> IP address? >> >> Dewald >> >> On Oct 20, 3:10 pm, Ryan Rosario <uclamath...@gmail.com> wrote: >> >> >> >> > Below are the responses. I tried various combinations of - >> > uusername:pass -u=username:pass -u username:pass and each time got an >> > authentication error. >> >> > Without authentication >> > [madhatter:~/Desktop] ryan% curl >> > -vvvhttp://twitter.com/statuses/user_timeline.json\?user_id=1255997062\&count=100 >> > * About to connect() to twitter.com port 80 (#0) >> > * Trying 168.143.162.100... connected >> > * Connected to twitter.com (168.143.162.100) port 80 (#0)> GET >> > /statuses/user_timeline.json?user_id=1255997062&count=100 HTTP/1.1 >> > > User-Agent: curl/7.19.4 (universal-apple-darwin10.0) libcurl/7.19.4 >> > > OpenSSL/0.9.8k zlib/1.2.3 >> > > Host: twitter.com >> > > Accept: */* >> >> > < HTTP/1.1 401 Unauthorized >> > < X-experimental-RLS-remaining: 132 >> > < X-experimental-RLS-maxvalue: 150 >> > < X-experimental-RLS-reset: 1256065275 >> > < X-experimental-RLS-th: notreq >> > < X-RLS-id: sjc1c032 >> > < Via: Cachet/0.91 >> > < Date: Tue, 20 Oct 2009 18:03:41 GMT >> > < Server: hi >> > < X-RateLimit-Limit: 150 >> > < X-Transaction: 1256061824-5820-4214 >> > < WWW-Authenticate: Basic realm="Twitter API" >> > < Status: 401 Unauthorized >> > < Last-Modified: Tue, 20 Oct 2009 18:03:44 GMT >> > < X-RateLimit-Remaining: 133 >> > < X-Runtime: 0.05350 >> > < Content-Type: application/json; charset=utf-8 >> > < Pragma: no-cache >> > < Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, >> > post-check=0 >> > < Expires: Tue, 31 Mar 1981 05:00:00 GMT >> > < X-Revision: 726d1f10cbe49a923e837d8c3fca3a3993a0f964 >> > < X-RateLimit-Reset: 1256065275 >> > < Set-Cookie: lang=en; path=/ >> > < Set-Cookie: >> > _twitter_sess=BAh7CDoRdHJhbnNfcHJvbXB0MDoHaWQiJWM5OTU5MWNkNmE5MjMwNzU0Nzhh >> > %250AMzdkMTA3NzE2Zjk5IgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVyOjpGbGFz >> > %250AaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA--73f950f824e3e048d3691a3eeec8a8fbbab2 >> > 1743; >> > domain=.twitter.com; path=/ >> > < Vary: Accept-Encoding >> > < Content-Length: 118 >> > < Connection: close >> > < >> > * Closing connection #0 >> > {"request":"/statuses/user_timeline.json? >> > user_id=1255997062&count=100","error":"This method requires >> > authentication."} >> >> > With authentication: >> > [madhatter:~/Desktop] ryan% curl -vvv >> > -uusername:passhttp://twitter.com/statuses/user_timeline.json\?user_id=1255997062\&count=100 >> > * About to connect() to twitter.com port 80 (#0) >> > * Trying 168.143.162.68... connected >> > * Connected to twitter.com (168.143.162.68) port 80 (#0) >> > * Server auth using Basic with user ' '> GET >> > /statuses/user_timeline.json?user_id=1255997062&count=100 HTTP/1.1 >> > > Authorization: Basic *redacted* >> > > User-Agent: curl/7.19.4 (universal-apple-darwin10.0) libcurl/7.19.4 >> > > OpenSSL/0.9.8k zlib/1.2.3 >> > > Host: twitter.com >> > > Accept: */* >> >> > < HTTP/1.1 401 Unauthorized >> > < X-experimental-RLS-remaining: 0 >> > < X-experimental-RLS-maxvalue: 150 >> > < X-experimental-RLS-reset: 1256064142 >> > < X-experimental-RLS-th: succ >> > < X-RLS-id: sjc1c032 >> > < Via: Cachet/0.91 >> > < Date: Tue, 20 Oct 2009 18:04:33 GMT >> > < Server: hi >> > < X-RateLimit-Limit: 20000 >> > < X-Transaction: 1256061882-45021-11545 >> > * Authentication problem. Ignoring this. >> > < WWW-Authenticate: Basic realm="Twitter API" >> > < Status: 401 Unauthorized >> > < Last-Modified: Tue, 20 Oct 2009 18:04:42 GMT >> > < X-RateLimit-Remaining: 19823 >> > < X-Runtime: 0.11979 >> > < Content-Type: application/json; charset=utf-8 >> > < Pragma: no-cache >> > < Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, >> > post-check=0 >> > < Expires: Tue, 31 Mar 1981 05:00:00 GMT >> > < X-Revision: 726d1f10cbe49a923e837d8c3fca3a3993a0f964 >> > < X-RateLimit-Reset: 1256064139 >> > < Set-Cookie: lang=en; path=/ >> > < Set-Cookie: lang=en; path=/ >> > < Set-Cookie: >> > _twitter_sess=BAh7CjoTcGFzc3dvcmRfdG9rZW4iLTg1ZTQ4OTU0ZjdmM2MyOGQzMjFhOGIy >> > %250ANjEyYjBhZDAzZjYzZjY3M2Y6EXRyYW5zX3Byb21wdDA6CXVzZXJpA57usDoH >> > %250AaWQiJTgxZTNhMGNlYmE0YjRlNWI2NWRlZjdhZjU3ZDk3MmM2IgpmbGFzaElD >> > %250AOidBY3Rpb25Db250cm9sbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNl >> > %250AZHsA--26052e0c4f20f2f852537f173106f426be9df437; >> > domain=.twitter.com; path=/ >> > < Vary: Accept-Encoding >> > < Content-Length: 118 >> > < Connection: close >> > < >> > * Closing connection #0 >> >> > On Oct 20, 10:25 am, Chad Etzel <c...@twitter.com> wrote: >> >> > > Hi Ryan, >> >> > > This sounds like a bug. Can you provide full HTTP request/response >> > > headers+body traces for some of these requests? (be sure to obscure >> > > the authentication header). Using curl -vvv would be good. >> >> > > -Chad >> >> > > On Tue, Oct 20, 2009 at 1:10 PM, Ryan Rosario <uclamath...@gmail.com> >> > > wrote: >> >> > > > I have been running into a recurring problem that I have been facing >> > > > for the past couple of days, on numerous machines. >> >> > > > I am extracting 200 tweets for a large number of users, using the >> > > > numeric user ID (user_id). After a small number of requests (between >> > > > 10 and 50) I receive nothing but "This method requires >> > > > authentication". Authenticating with my username and password does not >> > > > make the message go away. I have verified that the users I am trying >> > > > to pull are not protected users. I have also verified that I am not >> > > > hitting the rate limit. >> >> > > > On my latest attempt, I used an IP I have not used in the past. I was >> > > > able to extract the first 200 tweets for *12* users, then I started >> > > > receiving 401s ("This method requires authentication") on every single >> > > > request of this type. >> >> > > > After about 10 minutes, I tried again and it worked for about another >> > > > 15 users, then I started getting the same message as well as other >> > > > messages including 502. >> >> > > > Is this behavior expected? Does this 401 message possibly mean >> > > > something else? >