ここでcURL+プロキシnoob、苦労しています。プロキシ経由でリモートの安全なサーバーからWebページを取得しようとして問題が発生しました。次のコマンドライン命令が機能し、探しているものを返すように、すべてがリモート開発者によって正しく設定されているようです。
curl -k --socks5-hostname localhost:xxxx https://hostname/
ただし、次のPHPは、要求されたWebページをエコーしません。代わりに、「ホスト名を解決できませんでした」というエラーがエコーされます。
$proxy = 'localhost:xxxx';
$url = 'https://hostname/';
//$proxyauth = 'user:password';
$ch = curl_init();
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_URL, $url);
$curl_scraped_page = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
if ($error)
echo $error;
elseif ($curl_scraped_page)
echo $curl_scraped_page;
$ urlがGoogleなどの公開ページに変更された場合、リクエストは成功し、誰もが満足しています。
接続にSSHトンネルが必要な場合は、SSHトンネルが必要です。コマンドラインリクエストが成功したことで証明されるように、トンネルは開いていて機能しています。
ここで見逃されている明らかなものはありますか?