IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   заполнение полей форм из скрипта перл (https://www.imho.ws/showthread.php?t=92649)

ScRp 15.09.2005 17:44

заполнение полей форм из скрипта перл
 
изучаю перл, встала задача написать скрипт который заполняет поля форм. Смотрел модуль LWP взял там пример:
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(POST => 'http://www.perl.com/cgi-bin/BugGlimpse');
$req->content_type('application/x-www-form-urlencoded');
$req->content('match=www&errors=0');
my $res = $ua->request($req);
print $res->as_string;

подставил в этом примере свой урл и свои значения полей, но ничего не выходит получаю только ответ в виде HTML кода указанного урла, а форма так и не заполняеться.... Вопрос: в каком направлении мне двигаться? чтобы выполнить поставленную задачу...

Gike 15.09.2005 17:58

если я правильно понял, ты хочеш чтоб была видна заполненая форма?
перл такого сделать неможет

правда можно с помощью перла создать уже заполненую копию формы.....

ScRp 15.09.2005 18:13

Задача состоит в том чтобы данные которые я передаю форме сохранялись на сервере чего не происходит......

Andrey Zak 16.09.2005 19:19

Цитата:

ScRp:
Задача состоит в том чтобы данные которые я передаю форме сохранялись на сервере чего не происходит......
Форме данные передать нельзя. Можно сэмитировать работу формы.
То что ты делаешь в примере, это примерно следующее:
Нажимая на кнопку отправить, ты пересылаешь пременные скрипту.

Может ты имеешь ввиду глобальные переменные сервера типа $_POST $_GET

Уточни, что ты хочешь сделать. Где и на каком сервере ты хочешь сохранить данные. :confused:

ScRp 16.09.2005 20:04

задача простая...нужно чтобы заполненая форма на сервере заполнилась и данные сохранились. Другими словами нужно заполнить форму в инете я подставил данные в этот скрипт и заполнил эту форму и при этом данные что бы сохранились. Т.Е другими словами я пытаюсь написать скрипт сабмитер..

что то я помоему масло масленное написал...)))

Andrey Zak 16.09.2005 20:17

Методом POST отправляются данные, а методом GET получается ответ.
Даа.... Если ты хочешь, чтобы тебе помогли, следует яснее излогать свои мысли. Здесь нет телепатов. :idontnow:

ScRp 16.09.2005 20:33

есть форма на моем ресурсе если ее заполнить из броузера и нажать сабмит то данные сохраняются... Моя задача что бы мой скрипт мог это делать.. Ну вот вроде понятно объяснил... :rolleyes:

Ale 16.09.2005 22:39

ScRp
Попробуй сформулировать еще раз: тебе надо чтоб скрипт отправлял данные (заполненные поля чужой формы) скрипту на чужом сервере + сохранял отправленное на своем сервере? Или сохранять надо результат, котор возвращает чужой скрипт (обработчик формы)?

Andrey Zak 16.09.2005 23:22

my $url = "http://www.sait.ru/cgi-bin/guestbook/guestbook.pl";
# это чтоб совсем красиво было. куда вставить задачка на выходные
# my $ref = "http://www.sait.ru/guestbook.html";

my $agent = new LWP::UserAgent;
$agent->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0");
# можно и через прокси, как настоящий кулхацкер
# $agent->proxy('http',"http://proxy.ru:3128");


$request = POST $url ,[ cwrite => 'none', Name => 'test12', E-Mail => 'test31@test.ru', Homepage => 'http://t13est.ru', Text => 'test13311' ];
$response = $agent->request( $request );
# ответ на запрос это то, что ты можешь видеть после сабмита
print $content = $response->content();

Надеюсь это то, что ты просил. Почисти гостевую.

ScRp 16.09.2005 23:34

Моя задача в итоге написать скрипт сабмитер, для автоматической регистрации. (ну например на досках объявлений) И у меня пока не получаеться реализовать это с помощью модуля LWP (пример в начале топика...) Или может быть я вообще не то делаю. В документации к LWP написано что я на такой запрос должен получать ответ с HTML кодом формы после сабмита (ну например я указал в этом скрипте урл поисковика и вбил этим скриптом ключевое слово) дак скрипт должен мне вернуть результаты поиска по базе поисковика) а он возвращает HTML код главной страницы поисковика. Названия и значения полей вроде пишу правильно... и урл указываю абсолютный. :(

Andrey Zak 16.09.2005 23:44

Ты попробовал мой пример? Действуй по аналогии. А вообще если есть php + curl многое станет доступно. Быстрее наступит понимание. :biggrin:

ScRp 16.09.2005 23:49

остался один вопрос что означает вот эта строчка
cwrite => 'none'

Andrey Zak 16.09.2005 23:53

Цитата:

ScRp:Я php вообще не знаю, а что на нем проще такие вещи реализовывать?
Я написал тебе ключевые слова php curl -> в поиск

ScRp 17.09.2005 00:01

я думаю пример надо убрать а то из этого инструмент для спама можно сделать.. :)

Andrey Zak 17.09.2005 00:09

Цитата:

ScRp:
Моя задача в итоге написать скрипт сабмитер, для автоматической регистрации. (ну например на досках объявлений)

я думаю пример надо убрать а то из этого инструмент для спама можно сделать..
А ты сам для чего планируешь использовать? На грамотных сайтах есть защиты от того о чем ты подумал. Это сырой скрипт, его надо додумывать. Он больше подходит для обучения. Конечно твою гостевую от него не спасти :biggrin:

ScRp 17.09.2005 00:13

ну пускай тогда будет :biggrin:

Andrey Zak 17.09.2005 00:25

Цитата:

ScRp:
остался один вопрос что означает вот эта строчка
cwrite => 'none'
Это скрытое поле в твоей форме гостевухи

GrOgy 17.09.2005 20:20

Цитата:

Сообщение от Andrey Zak
my $url = "http://www.sait.ru/cgi-bin/guestbook/guestbook.pl";
# это чтоб совсем красиво было. куда вставить задачка на выходные
# my $ref = "http://www.sait.ru/guestbook.html";

my $agent = new LWP::UserAgent;
$agent->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0");
# можно и через прокси, как настоящий кулхацкер
# $agent->proxy('http',"http://proxy.ru:3128");


$request = POST $url ,[ cwrite => 'none', Name => 'test12', E-Mail => 'test31@test.ru', Homepage => 'http://t13est.ru', Text => 'test13311' ];
$response = $agent->request( $request );
# ответ на запрос это то, что ты можешь видеть после сабмита
print $content = $response->content();

А что если запрос посылать скрипту написаному на PHP или это не играет роли? Просто попробывал запостить форму у которую обрабатывает скрипт написаннный на php и ни чего не получаеться.. В чем причина?

в одном месте проходит c php в другом нет. Интересная деталь где то надо все поля передать где можно не все передавать в запросе. хотя нет требований что бы все поля были заполнены..

почему если не указываешь скрытое поле в запросе то сабмита не происходит?

Andrey Zak 17.09.2005 21:18

GrOgy
Что-то стиль вопросов сильно знаком. ScRp это ты?
Цитата:

GrOgy:
А что если запрос посылать скрипту написаному на PHP или это не играет роли? Просто попробывал запостить форму у которую обрабатывает скрипт написаннный на php и ни чего не получаеться.. В чем причина?
Не важно на каком языке писать, важно соблюдать стандарты.
Давай договоримся обсуждать конкретные случаи. Я уже писал выше, что здесь нет телепатов. И уроки по программированию ни кто давать не станет. Начни с чтения документации (ее полно в сети), а лучше с правил форума. :contract:


Часовой пояс GMT +4, время: 00:51.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.