Я использую приложение "Fiddler" для отладки GET-попытки на сайт через PHP cURL. Чтобы увидеть трафик cURL, мне нужно было указать, что соединение cURL использует прокси-сервер Fiddler (см. Код ниже).
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'read_header');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_REFERER, "http://domain.com");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_URL, "http://domain.com");
$response = curl_exec($ch);
Но проблема в том, что в Fiddler я вижу только это:
Запрос (псевдоним domain.com):
CONNECT domain.com:80 HTTP/1.1
Ответ:
HTTP/1.1 200 Blind-Connection Established
Если я вручную загружаю веб-сайт в браузере, Fiddler дает мне БОЛЬШЕ дополнительной информации. Я могу видеть куки, информацию заголовка и то, что я получаю через GET.
Есть идеи, почему Fiddler не видит больше полезной информации из PHP cURL?
Редактировать: Я попытался включить опцию «Включить расшифровку HTTPS» в меню «Инструменты» / «Параметры Fiddler» / «HTTPS» (которую я не уверен, почему мне нужно использовать, поскольку я не говорил cURL использовать HTTPS).
К сожалению, изменив этот параметр, я теперь получаю ответ:
HTTP/1.1 502 Connection failed
Редактировать: Если это поможет, приложение "Чарльз" покажет мне ПУТЬ больше информации, чем Fiddler, но я действительно хочу выяснить Fiddler, так как он мне нравится больше.