нужно сделать запрос чтобы добавть A запись в ДНС в зону http://primaryns.kiev.ua/logon.phpраньше всегда получалось, не могут почему-то сохраниться куки, убиться об стену можно вот что я делал Код |
use HTTP::Cookies;
$text = StrEscaped("Есть многое на свете, друг Гораций, что и не снилось нашим мудрецам!"); $url = "http://primaryns.kiev.ua/logon.php";
# создадим нового Агента пользователя use LWP::UserAgent; $ua = LWP::UserAgent->new; $ua->cookie_jar($cookie_jar); my $req = HTTP::Request->new(POST=>$url);
# указываем тип контекста $req->content_type('application/x-www-form-urlencoded'); # вводим сам контекст для передачи $req->content("text=$text&user=LOGIN&pwd=PAROL"); my $res = $ua->request($req);
my $cook->cookie_jar( HTTP::Cookies->new( 'file' => '/home/di/cookies.lwp', #файл обмена 'autosave' => 1, #по завершении, сохранять ли файл ));
# получаем ответ от выводим его print "Content-type: text/html\n\n"; print $res->content; # если вы хотите получить полный ответ, с заголовком HTTP, # воспользуйтесь вызовом print $res->as_string
# вспомогательные процедуры sub StrEscaped { # используем эту процедуру для преобразования # передаваемых символов кириллицы my ($str)=@_; $str=~s/([^0-9A-Za-z\?&=:;])/sprintf("%%%x", ord($1))/eg; return $str }
|
а чтобы отправить в два или больше этапов, то нужно вот так? Код | use HTTP::Cookies;
$text = StrEscaped("Есть многое на свете, друг Гораций, что и не снилось нашим мудрецам!"); $url = "http://primaryns.kiev.ua/logon.php";
# создадим нового Агента пользователя use LWP::UserAgent; my $ua = LWP::UserAgent->new; my $ua->cookie_jar($cookie_jar); my $req = HTTP::Request->new(POST=>$url);
# указываем тип контекста $req->content_type('application/x-www-form-urlencoded'); # вводим сам контекст для передачи $req->content("text=$text&user=&pwd="); my $res = $ua->request($req);
my $cook->cookie_jar( HTTP::Cookies->new( 'file' => '/home/di/cookies.lwp', #файл обмена 'autosave' => 1, #по завершении, сохранять ли файл ));
my $ua = LWP::UserAgent->new; my $ua->cookie_jar($cookie_jar); my $req = HTTP::Request->new(POST=>$url);
# указываем тип контекста $req->content_type('application/x-www-form-urlencoded'); # вводим сам контекст для передачи $req->content("text=$text&user=&pwd="); my $res = $ua->request($req);
my $cook->cookie_jar( HTTP::Cookies->new( 'file' => '/home/di/cookies.lwp', #файл обмена 'autosave' => 1, #по завершении, сохранять ли файл ));
# получаем ответ от выводим его print "Content-type: text/html\n\n"; print $res->content; # если вы хотите получить полный ответ, с заголовком HTTP, # воспользуйтесь вызовом print $res->as_string
# вспомогательные процедуры sub StrEscaped { # используем эту процедуру для преобразования # передаваемых символов кириллицы my ($str)=@_; $str=~s/([^0-9A-Za-z\?&=:;])/sprintf("%%%x", ord($1))/eg; return $str }
|
но ошибка Can't call method "cookie_jar" on an undefined value at ./primary line 51. как сохранить cookie? подскажите плиз если отсылаю без куков, то ответ прихрдит вот такой Код | Content-type: text/html
|
или вот такой Код |
Content-Type: text/html; charset=ISO-8859-1
301 Moved PermanentlyPOST http://primaryns.kiev.ua/logon.php User-Agent: libwww-perl/5.805 Content-Length: 137 Content-Type: multipart/form-data; boundary=xYzZY
--xYzZY Content-Disposition: form-data; name="user"
rtyug --xYzZY Content-Disposition: form-data; name="pwd"
eej4ri --xYzZY--
|
UPD:вот еще сделал Код |
use strict; use warnings; use LWP::UserAgent; use HTTP::Request::Common; use HTTP::Cookies; use LWP;
my $ua = LWP::UserAgent->new; my $cookie_jar = HTTP::Cookies ->new(file => 'cookies.txt',autosave => 1, ignore_discard=>1 #важно !!! , ); $ua ->cookie_jar($cookie_jar); my ($url,$response);
my $login=''; my $pass = ''; #my $domen ='рилм-королевство';
$url = "http://primaryns.kiev.ua/logon.php";
$response=$ua->request(POST $url, { user => $login, pwd => $pass, });
$cookie_jar->extract_cookies($response); $cookie_jar->save('cookies.txt');
print "Content-type: text/html\n\n"; print $response->as_string;
|
пишет Код |
Content-type: text/html
HTTP/1.1 301 Moved Permanently Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: close Date: Wed, 30 Apr 2008 23:44:34 GMT Pragma: no-cache Location: zonelist.php Server: Apache/1.3.33 (Unix) PHP/5.2.5 with Suhosin-Patch Content-Type: text/html; charset=koi8-r Expires: Thu, 19 Nov 1981 08:52:00 GMT Client-Date: Wed, 30 Apr 2008 23:45:14 GMT Client-Peer: 82.193.101.224:80 Client-Response-Num: 1 Client-Transfer-Encoding: chunked X-Powered-By: PHP/5.2.5
|
Это сообщение отредактировал(а) gcc - 1.5.2008, 02:48
|