Php Twitter API-406不可接受的响应

Php Twitter API-406不可接受的响应,php,api,twitter,Php,Api,Twitter,对于用户配置文件,我通过以下方式查询Twitter搜索API: curl_setopt($ch, CURLOPT_URL, "http://search.twitter.com/search.rss?q=".urlencode($username."+-badword").""); 在过去的几周里效果非常好 几天后,Twitter API从我的网站上收到了很多请求,有时回复为“406不可接受” 完整的错误消息是: 数组(18){[0]=>string(27)“HTTP/1.1406不可接受”[

对于用户配置文件,我通过以下方式查询Twitter搜索API:

curl_setopt($ch, CURLOPT_URL, "http://search.twitter.com/search.rss?q=".urlencode($username."+-badword")."");
在过去的几周里效果非常好

几天后,Twitter API从我的网站上收到了很多请求,有时回复为“406不可接受”

完整的错误消息是:

数组(18){[0]=>string(27)“HTTP/1.1406不可接受”[1]=>string(35)”日期:2011年1月21日星期五12:31:06 GMT“[2]=>string(10)”服务器:hi“[3]=>string(26)”状态:406不可接受”[4]=>string(15)”在:10”[5]=>string(30)“X-Served-From:slc1-aah-25-sr1”[6]=>string(38)”内容类型:text/html;charset=utf-8”[7]=>string(45)“X-Served-By:slc1-acm-32-sr1.prod.twitter.com”[8]=>string(55)“缓存控制:最大年龄=15,必须重新验证,最大年龄=300”[9]=>string(38)”过期:Fri,2011年1月21日12:36:06 GMT”[10]=>string(21)“更改:接受编码”[11]=>string(17)“内容长度:1”[12]=>string(21)“X-Varnish:1897557299”=>string(6)“年龄:0”[14]=>string(16) “Via:1.1 varnish”[15]=>string(45)“X-Cache-Svr:slc1-acm-32-sr1.prod.twitter.com”[16]=>string(13)“X-Cache:MISS”[17]=>string(17)“连接:关闭”}

我不理解推特上关于这一点的独白:

表示“406不可接受:在请求中指定无效格式时由搜索API返回。”

因为,当我在几秒钟后重试时,请求再次正常工作


谁知道如何解决这个问题?

如果它过载,这可能就是错误的原因


“badword”包含什么?如果它是变量,则可能包含编码错误的内容。

如果它过载,则可能是错误的原因


“badword”包含什么?如果它是变量,则可能包含编码错误的内容。

原因:
,支持的格式有:

1) json
2) 原子

您正在使用
rss
。这就是为什么你会出错。格式必须指定为扩展名。像这样:

http://search.twitter.com/search.format

解决方案:
使用atom或json格式,如下所示:

http://search.twitter.com/search.json?q=twitter
完整代码应该如下所示:

curl_setopt($ch, CURLOPT_URL, "http://search.twitter.com/search.json?q=".urlencode($username."+-badword")."");

原因:
,支持的格式有:

1) json
2) 原子

您正在使用
rss
。这就是为什么你会出错。格式必须指定为扩展名。像这样:

http://search.twitter.com/search.format

解决方案:
使用atom或json格式,如下所示:

http://search.twitter.com/search.json?q=twitter
完整代码应该如下所示:

curl_setopt($ch, CURLOPT_URL, "http://search.twitter.com/search.json?q=".urlencode($username."+-badword")."");

TwitterAPI以低级别随机返回一系列400和500个错误。一般来说,准确的错误代码是没有意义的,因为它是变化的。根据我的经验,当您发出请求时,大约有0.1%的时间会发生错误。唯一的解决办法是重复请求


如果错误是可再现的,请检查代码。如果错误是随机且间歇性的,请编写代码,在出现错误时重复请求

Twitter API以低级别随机返回一系列400和500个错误。一般来说,准确的错误代码是没有意义的,因为它是变化的。根据我的经验,当您发出请求时,大约有0.1%的时间会发生错误。唯一的解决办法是重复请求


如果错误是可再现的,请检查代码。如果错误是随机且间歇性的,请编写代码,在出现错误时重复请求

您的代码格式也是406-py您的代码格式也是406-Poverloaded通常带有其他错误代码的响应。-Badword只是一个单词-问题是,它有时有效,有时不适用于同一个请求。是的,这个问题会让我相信Twitter服务存在问题,而不是你的请求,就像我说的。过载通常会导致其他错误代码的响应。-Badword只是一个词-问题是,它有时对同一请求有效,有时不对。是的,这个问题会让我相信Twitter服务而不是你的请求有问题,就像我说的。问题是,它有时对同一请求有效,有时不对-rss应该有效,也可以看看这里:他们可能会移除支架(或者正在移除过程中)。为什么不使用完全支持的呢。JSON是一件好事,PHP内置了
JSON\u decode
。所以,使用它应该没有问题。问题是,它有时对同一个请求起作用,有时不起作用-rss也应该起作用,看看这里:它们可能会删除支持(或者在这样做的过程中)。为什么不使用完全支持的呢。JSON是一件好事,PHP内置了
JSON\u decode
。所以,使用它应该没有问题。