Forum Webscript.Ru

Программирование => Perl => Тема начата: mulik от 30 Января 2002, 16:53:58

Название: LWP, https, proxy
Отправлено: mulik от 30 Января 2002, 16:53:58
Народ !
пробую получить https запрос через проксю - ничего не получается
без прокси - пожалуйста, а  с проксёй  никак. Вот код. Если исправите ошибку спасибо.
 
#!/usr/bin/perl -w
use LWP::UserAgent;
use HTTP::Request::Common;
my $ua = new LWP::UserAgent;
 my $URL = \'https://join.billingservices.com/psys/txn?MERCHANT_ID=1&BILLED_AS=Webquest%20Inc&PRODUCT_ID_LIST=3354,843&PRICE_LIST=2.99,29.99&PRODUCT_DESCRIPTION_LIST=$2.99%203-Day%20Trial%20Subscription,$29.99%20Monthly%20Subscription&CONVERT_PRICE=29.99&SUPPORT_LINK=http://help.webquest.net&TERMS=http://exits2.webquest.net/terms/girl/termsfull.html&LONG_ADDR=ON&ACCEPT_AMEX=N&MEMBER_URL=http://members.girl.com&x\';
 
 $ua->proxy([\'http\',\'https\', \'ftp\'], \'http://\'.$Proxy.\':443/\');#сюда вставляется прокся
 my $res = $ua->request(new HTTP::Request GET => $URL);
$res=$res->content."\\n";
Название: LWP, https, proxy
Отправлено: от 30 Января 2002, 17:49:11
Может всё дело в том что http прокся не пропускает защищеный протокол https. Попробуй сделать все тоже самое через MSIE.
Название: LWP, https, proxy
Отправлено: mulik от 31 Января 2002, 11:22:34
Через MSIE всё окей.
если даже (использовать прокси сервер -> дополнительно-> Secure(меняю порт на 443)) проходит всё ина странице сервера регистрируется IP  прокси.
Может будут еще соображения ?
Название: LWP, https, proxy
Отправлено: Chs от 27 Декабря 2002, 23:45:38
Подниму-ка я старую тему - столкнулся и я с подобной проблемой.
У кого-нибудь получалось скачать страничку (или отправить запрос) по https используя прокси c помощью LWP или другого модуля?
(Пробовал LWP (из libwww 5.66) + Crypt::SSLeay).
Или может есть программа какая-нибудь?
Название: LWP, https, proxy
Отправлено: NeoNox от 30 Декабря 2002, 12:48:28
Chs
А что происхотит?
Я так мыслю, что тебе сначала на сервер нужно натянуть модуль ssl /а не перловый модуль/ а затем уже коннектится.
Название: LWP, https, proxy
Отправлено: Chs от 30 Декабря 2002, 17:40:49
NeoNox
LWP::UserAgent вообще-то на лету подхватывает Crypt::SSLeay. Так что модуль ssl есть.

А происходит следующее - если нет прокси и соединение идет напрямую, то все в порядке - страничка скачивается.
Если же соединение через прокси, то заставить работать LWP::UserAgent по https у меня не получилось.
Bug report на libwww-perl я конечно написал, но терзают смутные сомнения - вдруг у кого получалось.
Название: LWP, https, proxy
Отправлено: NeoNox от 30 Декабря 2002, 17:42:06
Что в логах?
Название: LWP, https, proxy
Отправлено: NeoNox от 30 Декабря 2002, 17:46:44
http://ftp.ics.uci.edu/pub/websoft/libwww-perl/archive/2000h2/0384.html Если оно, свисни.
Название: LWP, https, proxy
Отправлено: Chs от 31 Декабря 2002, 09:33:22
NeoNox, спасибо!
Примерно то, но не помогает. При установке ssl_version 3 пишет SSL negotiation failed.
Название: LWP, https, proxy
Отправлено: Константин от 23 Марта 2005, 23:56:30
Тема конечно старая, но у меня такая-же проблемма как у mulik\'а! Не могу понять в чём дело, очень похоже на БАГ.

Вот код:

my $ua = new LWP::UserAgent(timeout => 30);
$ua->agent(\'Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.1)\');
$ua->proxy([\'http\', \'https\'] => "http://168.12.2.158:80");

my $req = new HTTP::Request(GET => \'https://www.spb.mts.ru/\');
$ua->prepare_request($req);
print "\\n\\n", $req->as_string;

my $res = $ua->request($req);
print "\\n\\n", $res->as_string;


А вот что выдаёт отладчик и сам ответ сервера:

LWP::UserAgent::new: ()
LWP::UserAgent::proxy: ARRAY(0x832d5dc) http://168.12.2.158:80
LWP::UserAgent::proxy: http http://168.12.2.158:80
LWP::UserAgent::proxy: https http://168.12.2.158:80
LWP::UserAgent::request: ()
LWP::UserAgent::send_request: GET https://www.spb.mts.ru/
LWP::UserAgent::_need_proxy: Proxied to http://168.12.2.158:80
LWP::Protocol::http::request: ()
LWP::Protocol::collect: read 117 bytes
LWP::UserAgent::request: Simple response: OK


GET https://www.spb.mts.ru/
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, application/vnd.ms-excel, */*
Accept-Language: en
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.1)



HTTP/1.0 200 OK
Cache-Control: no-store
Cache-Control: no-cache
Connection: Close
Pragma: no-cache
Client-Date: Wed, 23 Mar 2005 20:06:57 GMT
Client-Peer: 168.12.2.158:80
Client-Response-Num: 1
X-Bypass-Cache: Application and Content Networking System Software 5.0.5





Perl 5.8.4, OS linux, LWP::VERSION 5.803. Прокси абсолютно рабочий и поддерживает SSL. Причём без прокси всё работает. Работает также при обращении по http.

Ответ сервера иногда отличается при использовании других прокси серверов, но суть везде одна - идёт редирект по пустой ссылке или по указанной выше или иногда бывает ответ 302, а поле Location указывает на URL запроса, что приводит к зацикливанию.

Если кто-нибудь сталкивался с этой ситуацией, отпишите пожалуйста, буду очень благодарен.

____________
ICQ 330378228
Название: LWP, https, proxy
Отправлено: 2NetFly от 24 Марта 2005, 00:38:52
Не берусь утверждать, но проблема может быть в том, что прокси попросту не поддерживает https.
Название: LWP, https, proxy
Отправлено: Константин от 24 Марта 2005, 11:33:31
Цитировать

Не берусь утверждать, но проблема может быть в том, что прокси попросту не поддерживает https.

Прокси 100% рабочий и поддерживает https, через браузер всё работает. Без прокси тоже всё OK.
Проверено было на огромном кол-ве прокси, ответ везде примерно одинаковый(редирект).

Кто сталкивался с этим и нашёл решение?

____________
ICQ 330378228
Название: LWP, https, proxy
Отправлено: 2NetFly от 24 Марта 2005, 11:37:01
Цитировать
2NetFly:
Кто сталкивался с этим и нашёл решение?

Я сталкивался, но в моем случае проблема была именно в прокси. Что еще подсказать - не знаю.
Название: LWP, https, proxy
Отправлено: NeoNox от 24 Марта 2005, 13:18:55
[root@kiev]# telnet 168.12.2.158 80
Trying 168.12.2.158...
Connected to 168.12.2.158.
Escape character is \'^]\'.
GET https://mollymail.com/ HTTP/1.1
HTTP/1.0 200 OK
Cache-Control: no-store
Pragma: no-cache
Cache-Control: no-cache
X-Bypass-Cache: Application and Content Networking System Software 5.0.5
Connection: Close



Connection closed by foreign host.

Таки прокся.