Есть форма:<form method="post" action="http://www.xx.ru/cgi-bin/xx.cgi?action=submit" name="SubmitSM" target="result">
<input type="text" name="txtAddr">
<textarea name="txtSM">
Есть форма:<form method="post" action="http://www.xxx.ru/cgi-bin/xxx.cgi?action=submit" name="SubmitSM" target="sm_result">
<input type="text" name="txtAddr">
<textarea name="txtSM">
Есть форма:'<form method="post" action="http://www.xxx.ru/cgi-bin/xxx.cgi?action=submit" name="SubmitSM" target="sm_result">
<input type="text" name="txtAddr">
<textarea name="txtSM"></textarea>
<input type="submit" name="Submit" value="отправить">
</form>'Как из другого скрипта заполнить поля и "нажать" кнопку?
Спасибо.
>Есть форма:
>
>'<form method="post" action="http://www.xxx.ru/cgi-bin/xxx.cgi?action=submit" name="SubmitSM" target="sm_result">
>
><input type="text" name="txtAddr">
><textarea name="txtSM">
Так ты чего хочешь сделать-то????
Ты разжуй суть вопроса...... да и еще а где собсвенно сама кнопочка
<input type='submit' value='submit'>
Это часть странички сайта www.xxx.ru
Ввожу данные, нажимаю "отправить", данные получает сервер www.xxx.ru и обрабатывает.
Хочу, что бы на моёмм местном сервере zzz.yyy.ru сделать какой-то скрипт, чтоб в нужное время сам обращался к этой страничке, заполнял INPUT'ы и нажимал "тправить".
Извините, если енпонятно.
>Это часть странички сайта www.xxx.ru
>Ввожу данные, нажимаю "отправить", данные получает сервер www.xxx.ru и обрабатывает.
>Хочу, что бы на моёмм местном сервере zzz.yyy.ru сделать какой-то скрипт, чтоб
>в нужное время сам обращался к этой страничке, заполнял INPUT'ы и
>нажимал "тправить".
>Извините, если енпонятно.Блин, ну в кроне пишешь задание типа: (точно не скажу ибо не помню)
http://www.xxx.ru/cgi-bin/xxx.cgi?action=то_то&text=тоттекст который надо передать
или делаешь страничку, которая это будет отдавать, или написать скрипт, самое главное написать строку запроса!
ну и т.д. по аналогии короче надо глянуть какие переменные воспринимает скрипт и подставлять свои значения, просто строку запроса ему отдать вручную, но есть еще одна заморочка, т.к. скрипт Perl в нем нужно явно указывать как принимать запросы, т.е. если через get то можно обычной строкой, а если через post то уж не знаю.....
>>Это часть странички сайта www.xxx.ru
>>Ввожу данные, нажимаю "отправить", данные получает сервер www.xxx.ru и обрабатывает.
>>Хочу, что бы на моёмм местном сервере zzz.yyy.ru сделать какой-то скрипт, чтоб
>>в нужное время сам обращался к этой страничке, заполнял INPUT'ы и
>>нажимал "тправить".
>>Извините, если енпонятно.
>
>Блин, ну в кроне пишешь задание типа: (точно не скажу ибо не
>помню)
> http://www.xxx.ru/cgi-bin/xxx.cgi?action=то_то&text=тоттекст который надо передать
>или делаешь страничку, которая это будет отдавать, или написать скрипт, самое главное
>написать строку запроса!
>ну и т.д. по аналогии короче надо глянуть какие переменные воспринимает скрипт
>и подставлять свои значения, просто строку запроса ему отдать вручную, но
>есть еще одна заморочка, т.к. скрипт Perl в нем нужно явно
>указывать как принимать запросы, т.е. если через get то можно обычной
>строкой, а если через post то уж не знаю.....
это опять я.
а можешь полностью вывалить форму? то что между тэгами <form> и </form> находится.
>а можешь полностью вывалить форму? то что между тэгами <form> и </form> находится.Между тэгами <form> и </form> больше ничего нет. Или тебе реальные адреса надо?
Так всё дело в том, что POST !
С GET'ом и дураку понятно...я б не спрашивал...
>Так всё дело в том, что POST !
>С GET'ом и дураку понятно...я б не спрашивал...
Че-то на языке крутится, а толкового ничего не лезет..........
Ну, вообщем, я придумал... ногами не пихать! как писали в журнале ХАКЕР "засовываем в щель!"Написал CGI-скрипт, который получает через строку (метод GET) эти переменные.
Затем он генерит html-страницу:
<form method="post" action="http://www.xxx.ru/cgi-bin/xxx.cgi?action=submit" name="SubmitSM" target="result">
<input type="hidden" name="txtAddr" value="12345">
<input type="hidden" name="txtSM" value="АБВГД">
</form>
<script>document.SubmitSM.submit();</script>
ВСЁ! ВУАЛЯ! УУУУПС!Всем спасибо!
>Это часть странички сайта www.xxx.ru
>Ввожу данные, нажимаю "отправить", данные получает сервер www.xxx.ru и обрабатывает.
>Хочу, что бы на моёмм местном сервере zzz.yyy.ru сделать какой-то скрипт, чтоб
>в нужное время сам обращался к этой страничке, заполнял INPUT'ы и
>нажимал "тправить".
>Извините, если енпонятно.
ОТВЕТ = use LWP;
примерuse CGI qw(param);
print "content....\n\n";
@names = $query->param;
foreach $n (@names) {
# print "<b>Name</b> = $n <b>Value</b> = ",param($n),"<br>\n";
$formdata{$n} = param($n);
}
use HTTP::Request::Common;
use LWP::UserAgent;
$is_proxy = 1;# is yes
my $ua = LWP::UserAgent->new(env_proxy => $is_proxy,
keep_alive => 1,
timeout => 360);
$ua->protocols_allowed([ 'http', 'https']);
$proxy && $ua->proxy(['http','https','ftp'],$proxy);
$x = $ua->request(POST 'https://www.paypal.example', [%formdata])->as_string;print "$x"; # ИЛИ обрабатывай ответ ($x)
Вообще-то чтоб отправить POST заявку, достаточно иметь curl... но вижу,
Вообще-то чтоб отправить POST заявку, достаточно иметь curl... но вижу, что тут проблему решили иным способом :)WWell,
А что такое curl?Тока не смейтесь...
>А что такое curl?Из следующей страницы: http://curl.haxx.se/
Curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and a busload of other useful tricks.
В частности, curl умеет "заполнить" удаленную web-форму и отправить ее как POST заявку. curl работает под многими OS, вкл. Linux, *BSD и др. Весьма вероятно, что он есть на вашей машине, или, по крайней мере, на инсталяционных дисках вашего дистрибутива.
>Тока не смейтесь...
Хорошо, только дружеская улыбка :)
WWell,
Насчет курля - абсолютно согласен. Но если зрить в корень... Да и вообще полезно знать как оно работает.берете виндовую терминалку hyperterm, в режиме tcp/ip (winsock)
127.0.0.1 80 и говорите ждать звонка (в смысле слушать порт 80)
пишете формочку, у которой action 127.0.0.1, заполняете и перехватываете запрос. А если понять как работает протокол HTTP то можно даже без курля, на открываемых сокетах жить... На любителя.А вот пример заголовка
POST / HTTP/1.1
Accept:
Accept-Language:
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: 127.0.0.1
Content-Length: 68
Connection: Keep-Alive
Cache-Control: no-cacheaction=del_param&base_name=veld&row_id[7]=del&row_id[15]=del