файл получает содержимое с https запросами через прокси
Как делать HTTPS запросы через прокси-сервер
Прокси-сервер находится tinyproxy
в debian
Код
$context = stream_context_create([
'http' => [
'proxy' => 'tcp://xx.xx.xx.xx:8888',
'request_fulluri' => true
]
]);
echo file_get_contents('https://www.google.com', false, $context);
Ошибка
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol in C:wampwwwgoogletest.php on line 10
Warning: file_get_contents(https://www.google.com): failed to open stream: Cannot connect to HTTPS server through proxy in C:wampwwwgoogletest.php on line 10
2 ответа:
Я бы рекомендовал cURL сделать это. Где-то на stackoverflow пользователь сказал это, и я полностью согласен.
File_get_contents () - это простая отвертка. Отлично подходит для простого получить запросы, где заголовок, метод HTTP-запроса, таймаут, cookiejar, перенаправляет, и другие важные вещи не имеют значения. завиток с setopt это powerdrills с почти каждым вариантом, который вы можете придумать.
<?php $url = 'https://www.google.com'; // to check your proxy // $url = 'http://whatismyipaddress.com/'; $proxy = '50.115.194.97:8080'; // create curl resource $ch = curl_init(); // set options curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // read more about HTTPS http://stackoverflow.com/questions/31162706/how-to-scrape-a-ssl-or-https-url/31164409#31164409 curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'); // $output contains the output string $output = curl_exec($ch); // close curl resource to free up system resources curl_close($ch); echo $output; ?>