PHPを使って、proxy経由でURLにアクセスして
HTMLソースを取得したかった
取得先がhttpとhttpsで、若干違ったのでメモメモ
$opt = array(
"http" => array(
"proxy" => "tcp://{$proxy_host}:{$proxy_port}",
"request_fulluri" => TRUE
)
);
if (preg_match('/^https:\/\/.*$/', $url)) {
unset($opt['http']['request_fulluri']);
$domain = parse_url($url, PHP_URL_HOST);
$opt += array("ssl" => array( 'SNI_enabled' => true, 'SNI_server_name' => $domain));
}
$source = file_get_contents($url, FALSE, stream_context_create($opt));
コメント