передача данных методом POST, не используя форму @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 9 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
[Петр]
новый человек
0
Сообщения: 32
Зарегистрирован: 19.02.04
Заголовок сообщения: передача данных методом POST, не используя форму
Сообщение Добавлено: 11 Март 2004, 16:50:21 
Нужно из одного Perl скрипта вызвать другой, передав ему параметры методом POST.
Формат передающей формы известен.

Я слышал, что используются сокеты и имуляция работы броузера.
Дайте ссылочку где можно об этом подробно почитать.
Заранее спасибо.

----------------
От устных обяснений тоже не откажусь ;)
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 11 Март 2004, 17:12:35 
Ссылочка: www.cpan.org

_________________
We've got the big memory and the small memory. The small memory's to remember the small things and the big memory's to forget the big ones.
MpaK999 Муж.
участник
1
Сообщения: 1716
Зарегистрирован: 14.11.02
Откуда: Ufa/Russia
Сообщение Добавлено: 11 Март 2004, 19:07:37 
[Петр],

почитать надо про LWP

Код:
use LWP::UserAgent;

 my $URL = 'http://www.ufanet.ru/cgi-bin/pager/send/pager';

  $ua = LWP::UserAgent->new;
#  $ua->proxy(['http', 'ftp'], 'http://proxy.ufanet.ru:3128');
  my $req = HTTP::Request->new(POST => $URL, new HTTP::Headers referer => 'http://www.ufanet.ru/pager/send.html');
  $req->content_type('application/x-www-form-urlencoded');
  $req->content("kodp=$kodp&n=$n&text=$text");
  my $res = $ua->request($req);

_________________
:: metal kick ass ::
[Петр]
новый человек
0
Сообщения: 32
Зарегистрирован: 19.02.04
Сообщение Добавлено: 12 Март 2004, 14:05:35 

MpaK999 писал(а):
[Петр],
почитать надо про LWP


Спасибо, прямо в точку :gent:
LWP - Library for WWW access in Perl - как раз, судя по названию, модуль для ентого дела.
Еще раз спасибо ;)
vexoid
новый человек
0
Сообщения: 295
Зарегистрирован: 15.12.02
Откуда: msk
Сообщение Добавлено: 12 Март 2004, 18:37:35 
нииии.… use socket; lwp далеко не везде установлен...
и rfc по http и всё... .) в принципе могу и примером "наградить" хотя аналогичные писал вроде тут уже неоднократно...

_________________
lost world... lost life... lost tomorrow... only night
[Петр]
новый человек
0
Сообщения: 32
Зарегистрирован: 19.02.04
Сообщение Добавлено: 14 Март 2004, 21:30:01 

vexoid писал(а):
нииии.… use socket; lwp далеко не везде установлен...


У меня установен, а мне ентого достаточно :) Тем более делается всё в три строки :D

vexoid писал(а):
и rfc по http и всё... .)


А что такое rfc?
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 14 Март 2004, 21:49:43 
[Петр], Request for Comment

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
[Петр]
новый человек
0
Сообщения: 32
Зарегистрирован: 19.02.04
Сообщение Добавлено: 19 Март 2004, 13:27:13 

MpaK999 писал(а):
Код:
use LWP::UserAgent;

 my $URL = 'http://www.ufanet.ru/cgi-bin/pager/send/pager';

  $ua = LWP::UserAgent->new;
#  $ua->proxy(['http', 'ftp'], 'http://proxy.ufanet.ru:3128');
  my $req = HTTP::Request->new(POST => $URL, new HTTP::Headers referer => 'http://www.ufanet.ru/pager/send.html');
  $req->content_type('application/x-www-form-urlencoded');
  $req->content("kodp=$kodp&n=$n&text=$text");
  my $res = $ua->request($req);



Лучше даже так:



use LWP::UserAgent;
my $URL = 'http://www.ufanet.ru/cgi-bin/pager/send/pager';
$ua = LWP::UserAgent->new;
# $ua->proxy(['http', 'ftp'], 'http://proxy.ufanet.ru:3128');
my $req = HTTP::Request->new(POST => $URL, new HTTP::Headers referer => 'http://www.ufanet.ru/pager/send.html', "X-Forwarded-For:" => $fakeip);
$req->content_type('application/x-www-form-urlencoded');
$req->content("kodp=$kodp&n=$n&text=$text");
my $res = $ua->request($req);

, где $fakeip генерится рандомом.
Так будет эмулироваться работа прокси, значит каждый новый вызов будет как с нового компа :mrgreen: :mrgreen: :mrgreen:

_________________
Русские программеры самые программистые программеры в мире :mrgreen:
http://savelyev.fatal.ru
[Петр]
новый человек
0
Сообщения: 32
Зарегистрирован: 19.02.04
Сообщение Добавлено: 19 Март 2004, 13:33:43 
Оффтопик: ерунда какая-то с форумом: после 2 часов ночи нет коннекта :fie: Это только у меня так :confused:

_________________
Русские программеры самые программистые программеры в мире :mrgreen:
http://savelyev.fatal.ru
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 9 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100