URL " http://hq.sinajs.cn/list=sh600123 "
私はどのブラウザからでも応答を得ることができます.結果は以下のとおりです.
var HQ_STR_SH600123 = "兰花科、13.53,13.63,13.45,13.61,13.43,13.45,13.46,1113110,15047856,3200,13.45,1500,13.44,11590,13.43,336900,1482,13.4882,13.4882,13.4882,13.4882,13.4882,133 6400,13.47,26496,13.48,14453,13.49,3400,13.50,2013-08-30,09:44:08,00";
また、Linux curl コマンドから同じ応答を得ることができます
curl http://hq.sinajs.cn/list=sh600123 var hq_str_sh600123="兰花科创,13.53,13.63,13.44,13.61,13.43,13.43,13.44,1144910,15475169,39090,13.43,37100,130.4 13.41,235500,13.40,5800,13.39,800,13.44,41300,13.45,9800,13.46,6400,13.47,25496,13.48,2013-08-30,09:44:43,00";
しかし、大きな問題は、PHP cURL 関数から正しい応答を得られないことです。
私のトランクコードはこのようなもので、ビジネスロジックを削除しました
$url = "http://hq.sinajs.cn/";//the url
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // the result could be got by the return value
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Expect:' )); // this line is added according to the advice from the internet
curl_setopt($ch, CURLOPT_URL,$url);
$post_data = "list=".urldecode($code); // here the code can be "sh600485"
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($ch);
$result は false であり、次のような冗長コードを追加します。
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_STDERR, $verbose = fopen('php://temp', 'rw+'));
echo "Verbose information:\n<pre>", !rewind($verbose), htmlspecialchars(stream_get_contents($verbose)), "</pre>\n";
出力は
詳細情報: * connect() を hq.sinajs.cn ポート 80 (#0) にしようとしています * 202.108.37.102 を試行しています... * 接続済み * hq.sinajs.cn (202.108.37.102) ポート 80 (#0) に接続しました
POST / HTTP/1.1 ホスト: hq.sinajs.cn Accept: / Content-Length: 13 Content-Type: application/x-www-form-urlencoded
- アップロードが完全に送信されました: 13 バイト中 13 バイト
- サーバーからの空の返信
- ホスト hq.sinajs.cn への接続 #0 はそのまま残されます
詳細情報: * 接続 #0 が停止しているようです! * 接続 #0 を閉じています * hq.sinajs.cn ポート 80 (#0) に connect() しようとしています * 202.108.37.102 を試行しています... * 接続済み * hq.sinajs.cn (202.108.37.102) ポート 80 に接続しました (# 0)
POST / HTTP/1.1 ホスト: hq.sinajs.cn Accept: / Content-Length: 13 Content-Type: application/x-www-form-urlencoded
- アップロードが完全に送信されました: 13 バイト中 13 バイト
- サーバーからの空の返信
- ホスト hq.sinajs.cn への接続 #0 はそのまま残されます
私の質問は、なぜ結果との違いが非常に大きいのですか?
- ウェブサイトサーバーの根本原因は何ですか? PHP cURL アクセスを禁止しますか?
- 問題を解決するには?
前もって感謝します!