2011-01-21 5 views
0

は私がでTwitter検索APIを問い合わせます。TwitterのAPIのユーザー・プロファイルの場合406許容できない応答

数日以来、TwitterのAPIは、「406受け入れられない」と

を自分のサイトからの要求と、時々応答の多くを取得し、完全なエラーメッセージは次のとおりです。

配列(18){ [1] =>文字列(35) "日付:2011年1月21日金曜日12:31:06 GMT" [2] =>文字列(10) "Retry-After:10" [5] => string(30) "X-Served(X-Served):"サーバー:hi "[3] => string(26) (7)=>文字列(45) "X-Served-By(X-Served-By) :slc1-acm-32-sr1.prod.twitter.com "[8] => string(55)" Cache-Con (9)=> string(38) "Expires:2011年1月21日金曜日12:36:06 GMT" [10] => string(21) (12)=> string(21) "X-Varnish:1897557299" [13] => string(6) "" Vary:Accept-Encoding " X-Cache-Svr:slc1-acm-32-sr1.prod.twitter.com "[15] => string(45) 16] =>ストリング(13)、 "X-キャッシュ:MISS" [17] =>列(17) "接続:閉じる"}

私はこれについてのTwitter独を理解していない:

http://apiwiki.twitter.com/w/page/22554652/HTTP-Response-Codes-and-Errorsには「406受け入れられません:要求に無効な形式が指定されていると、検索APIによって返されます」と表示されます。

私が数秒後に再試行すると、要求は再びうまく機能するためです。

この問題を解決する方法を知っているのは誰ですか?

+0

あなたのコードフォーマットは406です。 ; -P – deceze

答えて

2

理由:
From the docs
、サポートされている形式は次のとおりです。

1)JSON
2)原子

そして、あなたはrssを使用しています。だからあなたはエラーを受けている。フォーマットは拡張子として指定する必要があります。このように:

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

ソリューション:
使用原子またはJSON形式で、このような:

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

問題は時々動作し、時には同じリクエストではうまくいかない - rssもうまく動作するはずだ:http://search.twitter.com/search.rss?q=test – Lukas

+0

サポートを削除する(またはその過程で)。なぜ完全にサポートされているものを使用しないでください。 JSONは素晴らしいことであり、PHPには 'json_decode'が組み込まれています。だから、それを使っても問題はありません。 – shamittomar

+0

私はjsonを試してみるよ、ありがとう! – Lukas

0

オーバーロードが発生した場合、エラーが発生した可能性があります。

「badword」には何が含まれていますか?可変であれば、間違ってエンコードされたものが含まれている可能性があります。

+0

は通常、他のエラーコードで応答します。 - Badwordは単なる言葉です - 問題は、時にはうまくいく、時には同じ要求でないことです。 – Lukas

+0

はい、その問題は、私が言ったように、あなたの要求の代わりにTwitterサービスに問題があると信じさせてくれるでしょう。 – Merijn

1

ツイッター:

http://search.twitter.com/search.json?q=twitter 

完全なコードは次のようになりますAPIは400と500の一連のエラーを返します無作為に、そして低レベルで。一般に、正確なエラーコードは変化するので無意味です。私の経験から、あなたがリクエストをした時の約0.1%の間違ったエラーが発生します。唯一の解決策は、要求を繰り返すことです。

エラーが再現可能であれば、コードを確認してください。エラーがランダムかつ断続的である場合は、エラーが発生したときに要求を繰り返すコードを記述します。

関連する問題