|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : dimka kuvshinov 2:5020/400 19 Aug 2000 14:13:26 To : Paul Kulchenko Subject : как ходят пакеты в сети, и как их можно сформировать??? -------------------------------------------------------------------------------- Привет!!!!!! PK> Так может действительно неверный? Hет, логин/пароль верный, если все ручками через html формы набирать, то работает. PK> Запрос формируется как раз согласно rfc1867. В PK> этом легко убедиться PK> добавив PK> print $req->as_string. Увидел, действительно пакеты формируются согласно rfc :) PK> Работа при отсутствии пароля подтверждает то, что PK> запрос формируется PK> правильно. Попробуй передать ТОЛЬКО user/password PK> методом POST и GET. Hе логинится, если делать так: #!/usr/bin/perl -w $test = "http://www.test.ru/account/addimg.html"; use HTTP::Request::Common qw(POST); use LWP::UserAgent; use CGI qw(header -no_debug); my $req = POST $test, Content_Type => 'form-data', Content => [ user => 'vovka', password => '123321', ]; my $res = LWP::UserAgent->new->request($req); print header, $res->is_success ? $res->content : $res->status_line; print $req->as_string; логинится если делать так: #!/usr/bin/perl -w $test = "http://www.test.ru/account/addimg.html"; use HTTP::Request::Common; use LWP::UserAgent; $ua = LWP::UserAgent->new(); my $req = POST $test, [ user => 'vovka', password => '123321', ]; $content = $ua->request($req)->as_string; print "content-type: text/html\n\n"; print $content; print $req->as_string; Разница в том, что в первом случае пакет передается как описано в rfc1867, а во втором так: POST http://www.test.ru/account/addimg.html User-Agent: libwww-perl/5.47 Content-Length: 26 Content-Type: application/x-www-form-urlencoded user=vovka&password=123321 В rfc1867 написано, что если инфа из формы не бинарная, то передается она как application/x-www-form-urlencoded, но она не передается в multipart/form-data как в application/x-www-form-urlencoded!!!!! PK> Если на той стороне тоже твой скрипт, посмотри, PK> что принимается в виде PK> user/password. Hа той стороне не мой скрипт!!!!! :((((( Полезу в текст CGI.pm Где тут собака порылась - не знаю!!! Тогда такой вопрос, как можно формировать пакеты байт-за-байтом? т.е. я хочу в начало пакета. который передается методом POST вставить user=vovka&password=123321 а потом согласно rfc1867 передать img и его имя, затем снова передать все остальное name=value&name=value&.... Дима -- Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/648845b7914a.html, оценка из 5, голосов 10
|