海外サイトの株価チャートを自分の運営するサイトに表示させたいのですが、どうすればよいでしょうか?http://www.moneybox.jp/investment/market/cme.php こちらのサイトのシカゴ日経先物のチャートを表示したいと思っています。こちらのサイトでhttp://www.w-stock.biz/ phpで読み込んで表示させていただのですが、本日から表示できなくなってしまいました。別の方法で表示できないかご教示頂ければ幸いです。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2011/07/05 14:19:54
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:airlike No.3

回答回数51ベストアンサー獲得回数5

ポイント33pt

やっぱり、fsockopenでこけていますね。

エラー内容

「 php_network_getaddresses: getaddrinfo failed: Name or service not known in 」

で調べると、

http://d.hatena.ne.jp/red_snow/20090721/1248152882

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1223309312

「Name or service not known in 」で調べると

http://komputilo.blogspot.com/2011/02/lighttpdname-or-service-not-known_23.html

http://listserv.linux.or.jp/pipermail/linux-users/2010-August/000091.html

あたりが参考になりますかね。

(1つの回答につけられるのが1人3つまでという仕様があるようなので

 これが最後の回答となります)

id:idetuyo

ありがとうございます。再びこの質問を立てたいと思うので、引き続き返答にご協力頂けますと嬉しいです。ご紹介頂いたURLで解決できるのでしょうか?これは運用しているレンタルサーバーの問題なのか、チャート提供している会社側の対応なのか?それとも別の原因なのか?プログラムを書き換えれば表示できるものなのか?ご教授頂けたらと思います。

2011/07/05 14:19:33

その他の回答2件)

id:airlike No.1

回答回数51ベストアンサー獲得回数5

ポイント34pt

PHPに表示していた方法がわからないので、

何故表示されなくなったのかわかりませんが

相手ページのURLを表示したいなら、

(1)file_get_contents()を使う

http://midilin.sakura.ne.jp/midilin/php/ppblog/index.php?UID=1294904550

(2)get_contentsを使う

http://midilin.sakura.ne.jp/midilin/php/ppblog/index.php?UID=1220950218

(3)curlを使う

http://midilin.sakura.ne.jp/midilin/php/ppblog/index.php?UID=1221625722

これのどれかでいけないでしょうか?

id:idetuyo

ありがとうございます。こういうプログラムで表示させておりました。

わかる方にやっていただいたのですが、今は連絡がとれず、自力では到底わからず困っています^^;

$type = 'Content-type: image/png'; //画像データのMIME-type

$host = 'charts.quote.com'; //目的のホスト

$path = '/ifs/ifs?cont=NKD+1%21&period=V&varminutes=5&size=560x384&bartype=CANDLE&bardensity=high&headerbackground=9,50,165&headerforeground=255,255,255&headerdatacolor=255,255,255&studyheaderbackground=9,50,165&random=7595'; //目的のパス

$fp = fsockopen($host, 80, $errno, $errstr, 30);

if (! $fp) {

echo "$errstr ($errno)
\n";

} else {

$out = "GET $path HTTP/1.1\r\n";

$out .= "Host: $host\r\n";

$out .= "User-Agent: Mozilla/5.0\r\n";

$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);

//HTTPヘッダを読み飛ばす

while (! feof($fp)) {

$headers = fgets($fp, 8192);

if (trim($headers) == '') {

break;

}

}

//画像を読み込む(chunked形式)

$img = '';

while (! feof($fp)) {

$ss = fgets($fp);

$cnt = intval($ss, 16);

while ($cnt > 0) {

$bb = fread($fp, $cnt);

$cnt -= strlen($bb);

$img .= $bb;

}

fread($fp, 2); //\r\nをスキップ

}

fclose($fp);

header($type) ;

echo $img;

}

?>

2011/07/04 11:45:18
id:airlike No.2

回答回数51ベストアンサー獲得回数5

ポイント33pt

fsockopenがうまくいっているかどうかを

まず調べる必要がありますね。

エラーは何か出ていますか?

エラーが出ていなければ、

echo "あ";

$fp = fsockopen($host, 80, $errno, $errstr, 30);

echo "い";

if (! $fp) {

echo "う";

echo "$errstr ($errno)

\n";

} else {

echo "え";

とecho文を入れると

「あ」「あい」「あいう」「あいえ」のどれが画面に出力されるでしょうか?

1つずつ、echo文入れて、どこで落ちているかをまず調べたほうがよいと思います。

もし、「あいえ」となっていれば、fsockopenが有効だと思います。

それ以外なら、fsockopenが無効になっている可能性があるので

先ほど記した、URLの3つを参考にしてみると良いかと思います。


あとは試しに、URLの部分をyahooとかのURLを入れると

yahooの内容を表示できますか?

yahooの表示ができれば、fsockopenは有効で、

シカゴ日経先物のチャートの方で、拒否されているのかもしれません。

id:idetuyo

こんなエラーが出ています^^;

Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /virtual/fxjpy/public_html/chart.moneytokyo.com/cmechart_v.php on line 6

Warning: fsockopen() [function.fsockopen]: unable to connect to charts.quote.com:80 (Unknown error) in /virtual/fxjpy/public_html/chart.moneytokyo.com/cmechart_v.php on line 6

(100)

2011/07/04 22:11:56
id:airlike No.3

回答回数51ベストアンサー獲得回数5ここでベストアンサー

ポイント33pt

やっぱり、fsockopenでこけていますね。

エラー内容

「 php_network_getaddresses: getaddrinfo failed: Name or service not known in 」

で調べると、

http://d.hatena.ne.jp/red_snow/20090721/1248152882

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1223309312

「Name or service not known in 」で調べると

http://komputilo.blogspot.com/2011/02/lighttpdname-or-service-not-known_23.html

http://listserv.linux.or.jp/pipermail/linux-users/2010-August/000091.html

あたりが参考になりますかね。

(1つの回答につけられるのが1人3つまでという仕様があるようなので

 これが最後の回答となります)

id:idetuyo

ありがとうございます。再びこの質問を立てたいと思うので、引き続き返答にご協力頂けますと嬉しいです。ご紹介頂いたURLで解決できるのでしょうか?これは運用しているレンタルサーバーの問題なのか、チャート提供している会社側の対応なのか?それとも別の原因なのか?プログラムを書き換えれば表示できるものなのか?ご教授頂けたらと思います。

2011/07/05 14:19:33

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

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

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

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

回答リクエストを送信したユーザーはいません