HTTP прокси контекстът на PHP не преконфигурира суров TCP поток
Разграничете прокси опциите на HTTP обвивката на PHP от протоколната работа, необходима при stream_socket_client TCP връзка.
Прокси опцията на HTTP контекста принадлежи на HTTP потоковата обвивка на PHP. Суровата TCP връзка, създадена от stream_socket_client, не става HTTP прокси клиент само защото тази опция съществува в контекстов обект.
Ако кодът се свързва директно с адреса на местоназначението, той отваря този TCP маршрут. Ако вместо това се свързва с адреса на проксито, следващите байтове все още трябва да реализират прокси протокола.
За HTTP CONNECT това означава валиден хост и порт на местоназначението, всяка необходима прокси автентикация, пълен разбор на отговора и приемане, преди да започне протоколът на местоназначението. Едно извикване на fread, което търси фраза за успех, не е пълен конектор. TCP може да раздели отговора между четения или да върне допълнителни байтове, които трябва да бъдат запазени.
За HTTPS местоназначение TLS трябва да започне през установения тунел и да провери идентичността на местоназначението. Името на прокси хоста не е идентичността на сертификата на уебсайта.
Използвайте клиент или конектор с документирана поддръжка на изисквания прокси протокол, когато задачата е просто извличане на URL. HTTP и SOCKS настройките на PHP cURL предоставят един поддържан път за извличане на URL. Суровият поток е полезен, когато приложението поема тази протоколна работа на по-ниско ниво; той не трябва тихо да наследява допускания от несвързан пример с HTTP обвивка.