0

php で curl を使用して、https サイトを開こうとしています。しかし、空白のページが表示されます。確認すると、返された httpcode が 200 であることがわかります。ブラウザを使用して同じページを開くことができます。ホスト名と証明書の名前が異なっていたため、ssl 検証ツールと ssl_verify ホストを無効にしました。

これが私のコードです

<?php
$url = "https://abcde.com/";
$ch = curl_init($url);
echo "init";
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 200);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERPWD,"uname:pwd");
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,1);
$curl_scraped_page= curl_exec($ch);
$httpCode=curl_getinfo($ch, CURLINFO_HTTP_CODE); 
if(!$curl_scraped_page)
{
    echo "first learn";
}
echo $httpCode ;
echo $curl_scraped_page;
curl_close($ch);
?>
4

2 に答える 2

2

CURLOPT_USERAGENTを使用して、ユーザーエージェントをブラウザが使用するものと同じに設定してみてください。彼らはユーザーエージェントスニッフィングを使用している可能性があります。

于 2012-06-24T05:10:17.787 に答える
0

このオプションを設定します。

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
于 2016-04-27T03:02:45.340 に答える