httpsページコンテンツを取得するためにこのコードを書いたが、私は成功できませんでした。PHP curlとHTTPSサイトのhtmlソースコードを取得
<?php
function bot($url)
{
$header ="Host: tr-tr.facebook.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0\r\n
Accept: */*
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br";
$options = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_PORT => 443,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_CAINFO => "C:\\xampp\\htdocs\\curl-ca-bundle.crt",
CURLOPT_HTTPHEADER => explode("\r\n",$header)
);
$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
echo bot("https://tr-tr.facebook.com");
?>
私がそのコードを実行すると、それが返されます。 " 0#a jȌ# #.3 j ##u . /#cw @、 q=ߓ K" < ˞#%# t [ d :| [email protected]#$! ( M ߛ#w '#u')私のミスはどこにありますか?これらの文字を返すのはなぜですか?CURLOPT_SSL_VERIFYPEER = false
。私は...
[Brotli](https://github.com/google/brotli)がコード化されているようです。別のエンコーディングをネゴシエートしようとするか、自分でデコードしてみてください。 ['Content-Encoding:br'](https://requestable.pieterhordijk.com/bZd7o) – PeeHaa
アクセプトエンコーディングヘッダーを削除すると、平文https://requestable.pieterhordijk.com/eZd7oが得られます。 gzipをサポートしている場合は、gzipをネゴシエートしてください。なぜなら、サーバはgzipを代わりに提供してくれるからです。 – PeeHaa
はい、動作します。ありがとうございました。 –