Современные браузеры поддерживают прокси HTTPS, к которым можно подключиться через файл PAC (см. Https://www.igvita.com/2012/06/25/spdy-and-secure-proxy-support-in-google-chrome/, если вы «не знакомы»).
Я пытаюсь воспроизвести то же самое и подключиться к такому прокси через php CURL, но я просто получаю пустой ответ, никаких заголовков или содержимого.
Мой код выглядит следующим образом:
$url = "http://checkip.dyndns.com"; $proxy = "proxy.domain.com:443"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL , 1); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'test:test'); curl_setopt($ch, CURLOPT_PROXYTYPE, "CURLPROXY_HTTP"); $response = curl_exec($ch); curl_close($ch); echo $response;
Есть идеи?
Если кому-то интересно, решение этого – использовать spdycat вместо завитки: https://github.com/tatsuhiro-t/spdylay
Нет никакой поддержки для подключения к прокси с HTTPS с завитом еще. В git есть ветка незавершенного производства: https://github.com/bagder/curl/tree/HTTPS-proxy
Мы будем признательны за помощь в том, чтобы объединить их.