2015-03-02 2 views
2

Я хочу использовать php-сокеты через прокси-сервер. Я использую следующий код для сокета создатьphp сокеты с прокси

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 
    $result = socket_connect($socket, some_ip, 443); 

и настройки прокси-сервера с помощью:

$aContext = array(
    'http' => array(
     'proxy' => 'tcp://191.96.x.xx:1212', 
    ), 
); 
stream_context_set_default($aContext); 

Но когда я проверить его с помощью трассировки маршрута он не проходит через прокси-сервер. Трассировка - https://www.adayinthelifeof.nl/2010/07/30/creating-a-traceroute-program-in-php/

Кроме того, я попытался с помощью переменной окружения http_proxy=http://proxy.example.com:8080, но идентификатор не проходит через прокси-сервер

+0

не может найти что-либо на нем –

ответ

1

stream_context_set_default устанавливает контекст по умолчанию для файла операций (например, fopen, file_get_contents), но вы re пытается сделать гнездо операции с socket_create и т. д. - эти два очень разные.

Если вы просто хотите загрузить файлы через HTTP через прокси-сервер, используйте что-то вроде $data = file_get_contents("http://example.com/file"); после того, как вы установили контекст по умолчанию для использования вашего прокси.

Если вам нужно использовать сырые сокеты, вы можете использовать socket_create и т. Д., Но вам нужно предоставить более подробную информацию о том, какой тип прокси-сервера вы используете и чего хотите достичь с помощью сокетов.