Are you seeing any signs that you've been blacklisted? Are any calls getting through? I've seen this before but only when my IP was blacklisted (because of a bug that sent a script into an infinite loop).
@dougw On Feb 19, 9:35 pm, Eric Blair <eric.s.bl...@gmail.com> wrote: > I've been seeing that a bit the past few days as well (it looks like > the email I sent to the list yesterday about curl multi was an HTTP > Status 0 issue). > > We were outputting the curl output from our app to a file for a bit - > it definitely seemed like the cases with status code 0 weren't > communicating with Twitter - I've pasted some sample output at the end > of the email. The log describes the following situation - we batched 4 > requests and, in this case, 2 succeeded and 2 failed. In this case, > the failures show up as Connection Timeout. I saw a few of these > happen live in our logs and the timeout was definitely shorter than > the value we set for CURLOPT_TIMEOUT. However, it might've been long > enough to hit the limit set for CURLOPT_CONNECTTIMEOUT. We're > increasing that value to see if improves the situation. > > In other cases, we saw Host Not Found instead of Connection Timeout, > so I'm not certain if this will resolve the issue. > > One thing we did notice is that it looks like we're getting some major > packet loss between our server and Twitter - one host was dropping 25% > of packets and the next host was dropping 11%. We thought that seemed > excessive and might've been contributing to the status 0 message. > Here's a sample of the problematic portion of the traceroute: > > > Packets Pings > > Loss% Snt Last Avg > Best Wrst StDev > 8. xe-0-3-0.r21.chcgil09.us.bb.gin.ntt.net 0.4% > 3526 4.0 4.8 > 4.0 224.0 7.8 > 9. p64-7-0-3.r20.snjsca04.us.bb.gin.ntt.net 25.7% 3526 > 56.0 55.3 > 52.0 228.0 9.3 > 10. xe-1-3.r02.mlpsca01.us.bb.gin.ntt.net 11.1% > 3526 52.0 68.6 52.0 > 564.0 44.5 > 11. mg-1.c00.mlpsca01.us.da.verio.net 0.4% > 3526 56.0 73.2 52.0 > 4536. 92.4 > > Here's the curl output - > > * About to connect() towww.twitter.comport 80 (#0) > * Trying 128.121.146.100... > * About to connect() towww.twitter.comport 80 (#1) > * Trying 128.121.146.100... > * About to connect() towww.twitter.comport 80 (#2) > * Trying 128.121.146.100... > * About to connect() towww.twitter.comport 80 (#3) > * Trying 128.121.146.100... > > * Connected towww.twitter.com(128.121.146.100) port 80 (#2) > * Server auth using Basic with user '******' > > GET /direct_messages.xml?count=25&since=Mon+Feb+16+03%3A07%3A36+ > %2B0000+2009 HTTP/1.1 > > * Connected towww.twitter.com(128.121.146.100) port 80 (#3) > * Server auth using Basic with user '******' > > GET /direct_messages/sent.xml?count=25&since=Mon+Feb > +16+03%3A07%3A36+%2B0000+2009 HTTP/1.1 > > < HTTP/1.1 200 OK > < Date: Thu, 19 Feb 2009 20:51:06 GMT > < Server: hi > < Last-Modified: Thu, 19 Feb 2009 20:51:06 GMT > < Status: 200 OK > < ETag: "8cbb8956513e515ff337bf304285829f" > < Pragma: no-cache > < Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, > post-check=0 > < Content-Type: application/xml; charset=utf-8 > < Content-Length: 79 > < Expires: Tue, 31 Mar 1981 05:00:00 GMT > < X-Revision: d50813e1759a5b669840a0ae553da67b69c67caf > < X-Transaction: 1235076666-28856-29642 > < Set-Cookie: lang=en; path=/ > < Set-Cookie: lang=en; path=/ > < Set-Cookie: > _twitter_sess > = > BAh7CToTcGFzc3dvcmRfdG9rZW4iLWRiNDcwZjgzYWFlNjU5YTk5YmM1MjY1 > %250AZjE4OTM5MzUwNDA2NWJlMjA6CXVzZXJpA%252F5d5ToHaWQiJTIyMmVmZmVlMjFk > %250ANWU4OWY0NGNmMWU1MzM2MTEzZWQ3IgpmbGFzaElDOidBY3Rpb25Db250cm9s > %250AbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA > --5bd0845e53637728605a15dd8c9fa4043cb5fea6; domain=.twitter.com; path=/ > < Vary: Accept-Encoding > < Connection: close > < > * Expire cleared > * Closing connection #2 > > < HTTP/1.1 200 OK > < Date: Thu, 19 Feb 2009 20:51:06 GMT > < Server: hi > < Last-Modified: Thu, 19 Feb 2009 20:51:06 GMT > < Status: 200 OK > < ETag: "8cbb8956513e515ff337bf304285829f" > < Pragma: no-cache > < Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, > post-check=0 > < Content-Type: application/xml; charset=utf-8 > < Content-Length: 79 > < Expires: Tue, 31 Mar 1981 05:00:00 GMT > < X-Revision: d50813e1759a5b669840a0ae553da67b69c67caf > < X-Transaction: 1235076666-55169-28378 > < Set-Cookie: lang=en; path=/ > < Set-Cookie: lang=en; path=/ > < Set-Cookie: > _twitter_sess > = > BAh7CToTcGFzc3dvcmRfdG9rZW4iLWRiNDcwZjgzYWFlNjU5YTk5YmM1MjY1 > %250AZjE4OTM5MzUwNDA2NWJlMjA6CXVzZXJpA > %252F5d5ToHaWQiJTUwYjUxMDg1OGE2 > %250AY2ZlYWNhYzE2MDQ1ZjlmMWRjZDRkIgpmbGFzaElDOidBY3Rpb25Db250cm9s > %250AbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA-- > d1e252a95e502fa449339582429e1703159e5d2f; domain=.twitter.com; path=/ > < Vary: Accept-Encoding > < Connection: close > < > * Expire cleared > * Closing connection #3 > > * Expire cleared > * Expire cleared > > * Connection time-out > * Closing connection #0 > > * Connection time-out > * Closing connection #1 > > On Feb 19, 2009, at 8:43 PM, Matt Sanford wrote: > > > > > Hi Chris, > > > I've seen reports of this HTTP 0 before but I'm having trouble > > making sense of it. There is no code in our system that returns 0, > > at least not on purpose and I couldn't find anything in our apache > > logs. A quick trip to Google shows that libcurl (used by the PHP > > curl functions) returns 0 if it cannot connect. Are you able to make > > the same request via the curl command line utility? If so, please > > send along the output of curl -v (minus the Authorization header). > > > Thanks; > > — Matt Sanford > > > [1] -http://stackoverflow.com/questions/290996/http-status-code-with-libcurl > > > On Feb 19, 2009, at 01:53 PM, Chris wrote: > > >> Howdy, > > >> I am making API calls to Twitter using PHP ('Arc90 Twitter API > >> Client' > >> Library) to update a users status, and about 3 out of 10 times CURL > >> returns a HTTP status code of 0 - with no other data returned. > > >> But if I try again and again it will usually work within a few > >> repeats. Does anyone have any ideas about this? > > >> Thanks for your help, > > >> Chris. > >