URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 1681
[ Назад ]

Исходное сообщение
"Посылка данных в скрипт"

Отправлено СА , 09-Сен-03 10:15 
Есть форма:

<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">


Содержание

Сообщения в этом обсуждении
"Посылка данных из скрипта в скрипт"
Отправлено СА , 09-Сен-03 10:33 
Есть форма:

<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">


"Посылка данных из скрипта в скрипт"
Отправлено СА , 09-Сен-03 10:34 
Есть форма:

'<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>'

Как из другого скрипта заполнить поля и "нажать" кнопку?

Спасибо.


"Посылка данных из скрипта в скрипт"
Отправлено Andrew , 09-Сен-03 10:58 
>Есть форма:
>
>'<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'>

"Посылка данных из скрипта в скрипт"
Отправлено СА , 09-Сен-03 11:23 
Это часть странички сайта www.xxx.ru
Ввожу данные, нажимаю "отправить", данные получает сервер www.xxx.ru и обрабатывает.
Хочу, что бы на моёмм местном сервере zzz.yyy.ru сделать какой-то скрипт, чтоб в нужное время сам обращался к этой страничке, заполнял INPUT'ы и нажимал "тправить".
Извините, если енпонятно.

"Посылка данных из скрипта в скрипт"
Отправлено Andrew , 09-Сен-03 11:36 
>Это часть странички сайта www.xxx.ru
>Ввожу данные, нажимаю "отправить", данные получает сервер www.xxx.ru и обрабатывает.
>Хочу, что бы на моёмм местном сервере zzz.yyy.ru сделать какой-то скрипт, чтоб
>в нужное время сам обращался к этой страничке, заполнял INPUT'ы и
>нажимал "тправить".
>Извините, если енпонятно.

Блин, ну в кроне пишешь задание типа: (точно не скажу ибо не помню)
http://www.xxx.ru/cgi-bin/xxx.cgi?action=то_то&text=тоттекст который надо передать
или делаешь страничку, которая это будет отдавать, или написать скрипт, самое главное написать строку запроса!
ну и т.д. по аналогии короче надо глянуть какие переменные воспринимает скрипт и подставлять свои значения, просто строку запроса ему отдать вручную, но есть еще одна заморочка, т.к. скрипт Perl в нем нужно явно указывать как принимать запросы, т.е. если через get то можно обычной строкой, а если через post то уж не знаю.....


"Посылка данных из скрипта в скрипт"
Отправлено frontera , 09-Сен-03 11:38 
>>Это часть странички сайта 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> находится.


"Посылка данных из скрипта в скрипт"
Отправлено СА , 09-Сен-03 11:41 
>а можешь полностью вывалить форму? то что между тэгами <form> и </form> находится.

Между тэгами <form> и </form> больше ничего нет. Или тебе реальные адреса надо?


"Посылка данных из скрипта в скрипт"
Отправлено СА , 09-Сен-03 11:39 
Так всё дело в том, что POST !
С GET'ом и дураку понятно...я б не спрашивал...

"Посылка данных из скрипта в скрипт"
Отправлено frontera , 09-Сен-03 11:45 
>Так всё дело в том, что POST !
>С GET'ом и дураку понятно...я б не спрашивал...
Че-то на языке крутится, а толкового ничего не лезет..........


"Посылка данных из скрипта в скрипт"
Отправлено СА , 09-Сен-03 13:43 
Ну, вообщем, я придумал... ногами не пихать! как писали в журнале ХАКЕР "засовываем в щель!"

Написал 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>


ВСЁ! ВУАЛЯ! УУУУПС!

Всем спасибо!


"Посылка данных из скрипта в скрипт"
Отправлено konst , 09-Сен-03 16:51 
>Это часть странички сайта 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)


"Посылка данных из скрипта в скрипт"
Отправлено Асен Тотин , 09-Сен-03 21:36 
Вообще-то чтоб отправить POST заявку, достаточно иметь curl... но вижу,

"Посылка данных из скрипта в скрипт"
Отправлено Асен Тотин , 09-Сен-03 21:36 
Вообще-то чтоб отправить POST заявку, достаточно иметь curl... но вижу, что тут проблему решили иным способом :)

WWell,


"Посылка данных из скрипта в скрипт"
Отправлено СА , 10-Сен-03 09:54 
А что такое curl?

Тока не смейтесь...


"Посылка данных из скрипта в скрипт"
Отправлено Асен Тотин , 10-Сен-03 18:18 
>А что такое 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,


"Посылка данных из скрипта в скрипт"
Отправлено Rohan , 21-Сен-03 19:36 
Насчет курля - абсолютно согласен. Но если зрить в корень... Да и вообще полезно знать как оно работает.

берете виндовую терминалку 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-cache

action=del_param&base_name=veld&row_id[7]=del&row_id[15]=del