file_get_contents() でエラー
ゲスト
ゲスト
ATOMRSS
  • コード求むID: 328
  • 登録日時:  2008/09/05 17:14
  • 最終更新日時: 2008/09/08 10:44
  • アクセス数: 353
  • タグ:  php
  • codeなにがしブックマークに追加する 0 users
  • このページを del.icio.us に追加
  • このページをはてなブックマークに追加

Windows 上で PHP 5.2.6 で下記を実行すると

failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden 

のエラーとなります。

<?php
// 「codeなにがし」は長い URL が正しく表示されないので 2 つに分割
$url1 = 'http://ja.wikipedia.org/wiki/Wikipedia:';
$url2 = '%E7%B4%A2%E5%BC%95_%E3%81%84%E3%81%93';
print file_get_contents($url1.$url2);
?>
'' で括った URL をブラウザにコピー&ペーストすると正しく表示されます。

不思議なのは http://www.yahoo.com/ や、ほかの Wikipedia の URL なら正しく取得できるのです。

解決策をご存じの方、アドバイスをよろしくお願いいたします。

コメント

  • ゲスト
  • 1:ゲスト (BLUEPIXY)
  • 2008/09/05 19:48

おそらく、エージェントで判別して拒否しているのだと思います。

ini_set("user_agent", "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");

とかしてから呼び出してみたらどうでしょう。

GJGJGJGJ

  • ゲスト
  • 2:ゲスト
  • 2008/09/05 20:03

User-Agent: 
はいらない

GJGJGJ

  • ゲスト
  • 3:ゲスト
  • 2008/09/08 10:44

取得成功しました!ありがとうございました。

  • GoodJob
  • 0

前へ 1 次へ

コメントする

[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。

[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。

ゲスト投稿者:ゲスト:

関連ソースコード・ノウハウを登録

PDFLib | A library for processing PDF on the fly プレゼン公開・共有サイト handsOut.jp オープンタイプ株式会社 チーム・マイナス6% - みんなで止めよう温暖化

ブックマークコメント