Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LWP::UserAgent не могу запрос сделать 
:(
    Опции темы
gcc
Дата 1.5.2008, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



нужно сделать запрос чтобы добавть 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
PM WWW ICQ Skype GTalk Jabber   Вверх
gcc
Дата 1.5.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



почему от не выводит результат???


там защита стоит или что?? к другим сайтам, там где надо было - работало

а сейчас? 
Код


<form method="post" action="logon.php">
<table>
<tr><td>Login:</td><td>
<input type="text" name="user" class="inpt" style="width: 150px;"></td></tr>
<tr><td>Password:</td><td>
<input type="password" name="pwd" class="inpt" style="width: 150px;"></td></tr>
<tr><td colspan=2>
<input type="submit" value="Logon" class=btn></td></tr>

</td></tr></table>

</form>



СДЕЛАЛ

с помошью даного форума, рабоатет!

Код


#!/usr/bin/perl 

#use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
use LWP;



my $ua = LWP::UserAgent->new(agent=>'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',timeout=>'20',keep_alive =>'7');
 $ua->default_headers->push_header('Accept-Language' => "no, en");
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 ='рилм-королевство';
my $domen='http://primaryns.kiev.ua';

$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');

my $hdrs=HTTP::Headers->new('Accept'=>'text/plain','UserAgent'=>'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)');
my $reqG=HTTP::Request->new('GET',$domen,$hdrs);

$cookie_jar->add_cookie_header($reqG);

$response=$ua->request($reqG);

print "Content-type: text/html\n\n";
print $response->as_string; 



$namea='wwwwww8';

$selecta='A';
$aip='19.';
$zonename='';
$lnum='99';
$updating='';


$url = 'http://primaryns.kiev.ua/edit.php';
$response=$ua->request(POST $url, 
        {    f1 => $namea,
         f2 => $selecta,
f4 => $aip,
zone => $zonename,
lnum => $lnum,
sval => $updating,

        }); 







$url = 'http://primaryns.kiev.ua/zonelist.php';

$zoneupdating='';

$response=$ua->request(POST $url, 
        {    zone => $zoneupdating,
 }); 




Это сообщение отредактировал(а) gcc - 1.5.2008, 19:41
PM WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0985 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.