以前にも同様の質問があったことは知っていますが、サイトを検索したところ、解決策が見つからなかったようです。
私は以下のオプションを使用して、プロキシを介してyahoo.comまたは任意のサイト(いくつか試しました)をカールさせています。ヘッダーを返しているので、接続は正常に見えます。問題は、ヘッダーのみを返すことです。取得できるようにしたいのは、ソースhtmlです。
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "myusername:mypassword");
[編集1]データを取得するためにcurl_execを使用しています:
$content=curl_exec($ch);
echo $content;
[編集2]ユーザーエージェントは次のとおりです。
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1
[編集3]これは、curl_getinfoを呼び出すと返されるものです。
Array ( [url] => http://www.yahoo.com/
[content_type] => [http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => 0
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0
[namelookup_time] => 0
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0
[redirect_time] => 0
[certinfo] => Array ( )
[primary_ip] =>
[primary_port] => 0
[local_ip] =>
[local_port] => 0
[redirect_url] => )
プロキシのアクセス設定/Webブロッカーでしょうか?
何か案は?ありがとう