Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > emulyaziya formi


Автор: Andre 4.11.2002, 20:11
privet
kto znaet ka sdelat vid chto iy obrashaus k scriptu iz formi, a ne iz scripta.

vot forma, kotoraya rabotaet

<form method=POST action=http://www.ripn.net:80/nic/whois/en/whois.cgi>
<input type=hidden name=Whois value=test.ru >
<input type=submit>
</form>

#####################
a vot script, kotoriy delaet vid chto on forma, no ne do konza(((

use constant RIPN_WHOIS => 'http://www.ripn.net:80/nic/whois/en/whois.cgi
use constant RIPN_REF => 'http://www.ripn.net/nic/whois/en/';

my $agent = LWP::UserAgent->new;
my $request = POST ( RIPN_WHOIS,
                    Content => [ Whois => 'test.ru' ],
                    Referer => RIPN_REF
);

print $resp->content;

vse taki udalenniy script ee kat to otslegivaet i daet otvet cheres ras

spasiba

Автор: NightGoblin 27.11.2002, 15:42
хм...

Код

use IO::Socket;
use FileHandle;

$n = "\xd0\xa0";

$query = 'Whois=test%2Eru';
$query_len = length ($query);

$remote = IO::Socket::INET->new (
Proto => 'tcp',
PeerAddr => 'www.ripn.net',
PeerPort => '80'
) || die ("Cannot connect to server: $!\n");

$remote->autoflush(1);

print ($remote "POST /nic/whois/en/whois.cgi HTTP/1.0${n}Content-Type: application/x-www-form-urlencoded${n}Content-Length: $query_len${n}User-Agent: Samopalka/v1.0$n${n}$query");

while (<$remote>) {
print;
}

close ($remote);


Так сработает, интересно? :)

Автор: HalkaR 8.12.2002, 07:28
Другой вариант сделать тоже самое при помощи LWP.
Что-то вроде этого:
Код

use LWP;
use HTTP::Request::Common;
$ua = LWP::UserAgent->new;
$ua->request(POST, 'http://somewhere.com', [first=>1, second=>2]);
...

В общем про это очень подробно написано в pdf'ке ссылка на которую лежит в одной из тем в форуме.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)