
14.12.2008, 00:55
|
|
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
С нами:
9679872
Репутация:
347
|
|
SOCKS здесь вряд ли возможен исходя из самого механизма обращения к прокси.
То есть алгоритм такой:
1. perl-скрипт принимает HTTP-запрос и передает POST-параметром к php-скрипту
2. PHP-скрипт принимает POST-параметр и с помощью сокетов посылает целевому серверу, все что вернул ему сервер отправляет назад perl-скрипту
для реализации обычного HTTP-запроса этого достаточно. Но SOCKS предусматривает создание постоянного канала, то есть многократный прием и передачу данных. А как передавать данные скрипту второй раз? При таком подходе это невозможно!
HTTPS прокси или HTTP CONNECT прокси по сути тот же SOCKS-прокси, так как для подключения к HTTPS нужен сложный протокол - передача сертификатов и т.д.
Но если цель не создание полноценного HTTPS-прокси а например просто зайти через прокси на сайт, расположенный на https то все же можно например придумать следующий алгоритм:
1. perl-скрипт принимает запрос как HTTP-прокси (!) и передает его POST-параметром PHP-скрипту
2. PHP-скрипт с помощью curl посылает этот запрос целевому серверу и т.д.
в теории это возможно, но при этом возникает некоторые проблемы:
- как браузер будет сообщать perl-скрипту что целевой хост именно на https а не на http
- на сервере с PHP-прокси будет возникать проблемы c памятью - ведь PHP-скрипту необходмо сначала полностью принять результат и только потом он сможет передать результат и освободить занятую память. (подобно проблемам с памятью в текущей версии perl-скрипта)
Плюс еще не на каждом сервере curl доступен
P.S. Посмотрел исходник HTTPTunnel. Можно использовать IPC, тогда все проблемы сразу решаются...
Последний раз редактировалось bons; 14.12.2008 в 12:03..
|
|
|