人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Yahooニュースのページで、「Ted Ligety」で検索した結果のRSSを、PHPで読み込みたいと思いますが、
エラーとなってしまいまして、Google検索してみたのですが、同じような問題・解決法が見つけられませんでした。

分かる方、ご教授ください。PHPのバージョンは、5.2.6です。



■↓このページのRSSを読み込みたいと思います。
http://news.search.yahoo.com/search/news;_ylt=A9j8euzJI3RLfHgAg0XQtDMD;_ylu=X3oDMTBhNjRqazhxBHNlYwNzZWFyY2g-?p=Ted+Ligety&c=&ei=UTF-8&x=wrt


■このようにプログラムしてみました。

<?php
$uri="http://news.search.yahoo.com/news/rss;_ylt=A9j8eu5eJnRLpvIArRbQtDMD;_ylu=X3oDMTA3MTBsZGZsBHNlYwNhZG0-?p=Ted+Ligety&c=&ei=UTF-8&eo=UTF-8";
$rss = simplexml_load_file($uri);
?>


■このようなエラーが出てしまいます。

Warning: simplexml_load_file(http://news.search.yahoo.com/news/rss;_ylt=A9j8eu5eJnRLpvIArRbQtDMD;_ylu=X3oDMTA3MTBsZGZsBHNlYwNhZG0-?p=Ted+Ligety&c=&ei=UTF-8&eo=UTF-8) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.1 999 Unable to process request at this time -- error 999


■ちなみに、別のURLではエラーになりません。
<?php
$uri="http://sports.yahoo.com/nfl/rss.xml";
$rss = simplexml_load_file($uri);
?>




原因が分かる方、対策をご教授いただけますか。

●質問者: eroshigin
●カテゴリ:ウェブ制作
✍キーワード:At This Time eo Google HTTP open
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● kn1967
●20ポイント

そちらの状況を読みきれませんが、混雑等で正常に取得できなかっただけか、

あるいは、プロクシを通している事による更新のズレなどもあるかもしれません。

対策として、

・プロクシを通さない。

・時間を空けて再チャレンジ

・常時接続であるならば、再接続

など試してみてください。

それと、

・プログラムの中で、文字化けや欠落

を起こしていないかも再確認してみてください。


念のため当方(日本/大阪からの接続)にて、下記のように確認してみたところ、

取得できていますので、回答作成時点ではサーバ側トラブル等は見受けられません。


テストコード

<?php
$uri="http://news.search.yahoo.com/news/rss;_ylt=A9j8eu5eJnRLpvIArRbQtDMD;_ylu=X3oDMTA3MTBsZGZsBHNlYwNhZG0-?p=Ted+Ligety&c=&ei=UTF-8&eo=UTF-8";
//$uri="http://sports.yahoo.com/nfl/rss.xml";
$rss = simplexml_load_file($uri);
echo 'rss取得開始<hr/><pre>';
print_r($rss->channel);
echo '</pre><hr/>終了';
?>

テストコードにて得られた情報の抜粋

SimpleXMLElement Object
(
 [title] => SimpleXMLElement Object
 (
 )

 [link] => http://news.search.yahoo.com/search/news?p=Ted+Ligety&ei=UTF-8
 [description] => SimpleXMLElement Object
 (
 )

 [language] => en-us
 [copyright] => Copyright (c) 2004 Yahoo! Inc. All rights reserved.
 [lastBuildDate] => Thu, 11 Feb 2010 17:37:29 GMT
 [ttl] => 5
 [image] => SimpleXMLElement Object
 (
 [title] => Yahoo! News
 [width] => 142
 [height] => 18
 [link] => http://news.search.yahoo.com/news
 [url] => http://l.yimg.com/a/i/us/nws/th/main_142.gif
 )

 [incremental] => false
 [item] => Array
 (
 [0] => SimpleXMLElement Object
 (
 [title] => SimpleXMLElement Object
 (
 )

 [link] => http://us.rd.yahoo.com/dailynews/rss/search/Ted+Ligety/SIG=12gv75jt3/*http%3A//news.yahoo.com/s/nm/20100211/sp_nm/us_olympics_alpine_skiing_ligety_1
 [guid] => http://us.rd.yahoo.com/dailynews/rss/search/Ted+Ligety/SIG=12gv75jt3/*http%3A//news.yahoo.com/s/nm/20100211/sp_nm/us_olympics_alpine_skiing_ligety_1
 [pubDate] => Thu, 11 Feb 2010 04:54:26 GMT
 [description] => SimpleXMLElement Object
 (
 )

 )

http://q.hatena.ne.jp/ダミーでスミマセン。

◎質問者からの返答

kn1967さん、回答ありがとうございます。

いつ、このプログラムを動かしても同じエラーとなりますので、一時的なものでもなさそうです。


環境面について、質問内容に不足しておりましたが、

サーバーはロリポップのレンタルサーバーを使用しています。

ロリポップは、プロクシ設定されているサーバーで、この設定を変えることはできないようです。


全く同じソースで試していただいて、kn1967さん環境では大丈夫ということであれば、

プロクシの設定を含む、環境に依存する可能性が高いですね。

プロクシが原因かどうかを特定させるには、一時的にでもプロクシ設定を外さないと分からないですよね。困りました。


2 ● ラフティング
●20ポイント

一時的な現象なのでしょうか?

同種の事例が出ています。

http://groups.google.co.jp/group/google-appengine/browse_thread/...

スポーツができてニュースができないとなると、Yahoo!のニュース側に問題があるのではないかと思いますが。

◎質問者からの返答

raftingさん、回答ありがとうございます。

いつ実行しても、何度実行しても同じエラーになってしまいます。

回答いただいたkn1967さんが同じソースで取得できているので環境依存の可能性が高そうです。


3 ● kn1967
●20ポイント ベストアンサー

コメント欄を空けておいてと書いておくのを忘れました。2回目失礼。


lolipop にテストコードを設置してみました。

こちらからは正常アクセスできています。お試しください。

サーバー番号:users030

アドレス:http://hatena.oops.jp/1265905862.php

(お試し契約なので 2/20 までに動作をご確認ください。)

独自ドメインのためお試しいただけませんが sv71 でも確認しております。


そちらでも正常確認できたなら、

まずは、作成なされたプログラムを再度見直してもらうしかないでしょう。

それと、lolipopの場合はphpプログラムもキャッシュしているようなので、

一度、プログラムを削除して、再度アップロードするという事も、

行ってみてください。

◎質問者からの返答

kn1967さん

「コメント欄を空けておいて」とは、コメント欄(ってこのスペースのこと?)に

書いちゃうと何か問題ありそうですか?ごめんなさい、人力検索初使用なもので。

サンプル設置、ありがとうございます。確認しました。正しく動いてますね。

当方も独自ドメインですが、独自ドメインでも関係なさそうなのですね。

プログラムは同じ、PHP.iniも同じ設定なのに、エラーの内容は変わらずです。

一度、FTPフォルダを全削除して、再アップロードしてもエラーの内容は変わらずでした。

ロリポップのあのサーバーだけ何か固有のものがあるのかもしれませんが、

こちらはサポートに問い合わせしてみます。


別のサーバーに移すこともちょっと検討してみます。

その間、現在のサーバーで何とか対応できないか、再度、環境・プログラムなどを見直ししてみます。


4 ● Cris
●20ポイント

PHPにこだわらなければ下記のHPでhttp://sports.yahoo.com/nfl/rss.xml

Yahoo! Sports - NFL Newsのスクリプトで見れましたが・・・

http://feed.mikle.com/

◎質問者からの返答

endo-3さん、今回は、PHPでプログラムしたいと思っております。

回答ありがとうございます。


5 ● チヒロ
●20ポイント

PHPだけではなくほかでも、試してみてください。http://sports.yahoo.com/nfl/rss.xml

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ