HTTP/Request.phpで外部RSSのレスポンスコードを取得しています。


うまくいっていましたが、
特定のRSSだけレスポンスコードが取得できず、
$http->getResponseCode()が「NULL」となってしまいます。

渡しているRSSへ直接アクセスしてみたところ、一応ブラウザでは表示されます。

原因がよくわからないのですが、何かアドバイス頂けると助かります。

回答の条件
  • 1人5回まで
  • 登録:2007/06/27 16:40:50
  • 終了:2007/07/04 16:45:03

回答(1件)

id:ardarim No.1

ardarim回答回数892ベストアンサー獲得回数1422007/06/28 01:08:45

ポイント60pt

参考になるかわかりませんが、、、


自分の経験から言うと、IE(MSXML)が提供しているMSXML.XMLHTTPRequestの場合は、URL取得先で自動転送がかかる場合(HTTPレスポンスコードが3xxの場合)に失敗するという問題があります。例えば302 Foundが返ってくる場合など。直接ブラウザで見る分にはブラウザが自動転送するので正しく取得(表示)できるように見えます。


PHPのHTTP_Requestがどういう実装かわかりませんが、PHPの実装も同じような問題を抱えているのかもしれません。


とりあえず問題の起こるURLのHTTPレスポンスヘッダが正常なものと比べて違いがないか確認してみると良いかもしれません。

レスポンス確認はこのあたり↓でできます。

http://www.doctorseo.jp/seotool/headerviewer/index.html

id:onigirin

どうもありがとうございます。

上記URLで確認したところ、レスポンスが表示されませんでした。他のドメインなどで試したところ、しっかりレスポンスが表示されたので、そのドメイン自体が全体的にそうなっているみたいです。

これは、こちらではどうにもならなさそうですね・・・。

それがわかっただけでも助かりました。

2007/06/28 14:10:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません