1

それで、パスワードで保護されたXMLファイルをフェッチするためにcURLを取得しようとしてしばらく苦労し、それからまったく何も取得しなかった後、コードをダミングダウンして何機能するかを確認しました。何もわかりません。これが私のコードです:

$ch = curl_init("www.google.com");

curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_exec($ch);

curl_close($ch);

そして、cURLはサイレントです。ページに何も印刷されないという意味です。私は間違いなくそれを有効にしています、私のphpinfoは次のようになります:

cURL support            enabled
cURL Information            libcurl/7.16.0 OpenSSL/0.9.8a zlib/1.2.3

WindowsNTサーバーでphp5.2を実行します。助言がありますか?

4

1 に答える 1

7

キーは次の行にあります:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

転送の結果をエコーするのではなく返すようにcURLに指示しています(デフォルト)。したがって、その行を削除するか、次のようにします。

$result = curl_exec($ch);

if ($result === false) {
    echo "Error: " . curl_error($ch);
} else {
    echo $result;
}

コメントで指摘したようにSSLエラーが発生した場合は、cURLハンドルに別のオプションを設定して、証明書のチェックを無効にすることができます。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
于 2012-06-26T16:38:58.077 に答える