|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/371.32 21 Aug 2000 09:55:02 To : dmitriy@genphys.phys.msu.su Subject : Re: как ходят пакеты в сети, и как их можно сформировать??? -------------------------------------------------------------------------------- PK>> Так может действительно неверный? dgpms> Hет, логин/пароль верный, если все ручками через html формы набирать, то dgpms> работает. PK>> Запрос формируется как раз согласно rfc1867. В PK>> этом легко убедиться PK>> добавив PK>> print $req->as_string. dgpms> Увидел, действительно пакеты формируются согласно rfc :) PK>> Работа при отсутствии пароля подтверждает то, что PK>> запрос формируется PK>> правильно. Попробуй передать ТОЛЬКО user/password PK>> методом POST и GET. dgpms> Hе логинится, если делать так: dgpms> #!/usr/bin/perl -w dgpms> $test = "http://www.test.ru/account/addimg.html"; dgpms> use HTTP::Request::Common qw(POST); dgpms> use LWP::UserAgent; dgpms> use CGI qw(header -no_debug); dgpms> my $req = POST $test, dgpms> Content_Type => 'form-data', dgpms> Content => [ dgpms> user => 'vovka', dgpms> password => '123321', dgpms> ]; dgpms> my $res = LWP::UserAgent->new->request($req); dgpms> print header, $res->is_success ? $res->content : $res->status_line; dgpms> print $req->as_string; dgpms> логинится если делать так: dgpms> #!/usr/bin/perl -w dgpms> $test = "http://www.test.ru/account/addimg.html"; dgpms> use HTTP::Request::Common; dgpms> use LWP::UserAgent; dgpms> $ua = LWP::UserAgent->new(); dgpms> my $req = POST $test, dgpms> [ dgpms> user => 'vovka', dgpms> password => '123321', dgpms> ]; dgpms> $content = $ua->request($req)->as_string; dgpms> print "content-type: text/html\n\n"; dgpms> print $content; dgpms> print $req->as_string; dgpms> Разница в том, что в первом случае пакет передается как описано в dgpms> rfc1867, а во втором так: dgpms> POST http://www.test.ru/account/addimg.html dgpms> User-Agent: libwww-perl/5.47 dgpms> Content-Length: 26 dgpms> Content-Type: application/x-www-form-urlencoded dgpms> user=vovka&password=123321 dgpms> В rfc1867 написано, что если инфа из формы не бинарная, то передается dgpms> она как application/x-www-form-urlencoded, но она не передается в dgpms> multipart/form-data как в application/x-www-form-urlencoded!!!!! PK>> Если на той стороне тоже твой скрипт, посмотри, PK>> что принимается в виде PK>> user/password. dgpms> Hа той стороне не мой скрипт!!!!! :((((( Вот в нем, похоже, и проблема. Кривой он. Скорее всего, разбирает форму руками, а при multipart/form-data параметры передаются по одному, а не пачками. -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/171219bee978b.html, оценка из 5, голосов 10
|