Forum Webscript.Ru

Программирование => Perl => Тема начата: от 05 Апреля 2002, 14:33:56

Название: Добавить запись на гостевую сайта при помощи perl
Отправлено: от 05 Апреля 2002, 14:33:56
Не понимаю, почему не добавляется запись, объясните??????

use  LWP::UserAgent;
use  LWP::Simple;
use  HTTP::Request;
use  HTTP::Request::Common qw(POST);
use  HTTP::Response;
use  HTTP::Headers;
use  HTTP::Cookies;
$url=\'http://narod.yandex.ru/guestbook/index.xhtml?owner=78282\';
 $forminfo = \'your_name=max&your_email=calculateh@mail.ru2&your_url=www.mail.ru&your_message=rgkideghndfjkhnfdjkhgjkfd krehgjkfdg\';
  $UserAgent = new LWP::UserAgent;
  $UserAgent->agent("Mozilla/5.0");
  $Headers = new HTTP::Headers(Referer => $referer);
  $Request = new HTTP::Request(POST => $url, $Headers);
  $Request->content_type(\'application/x-www-form-urlencoded\');
  $Request ->content($forminfo);
  $Response = $UserAgent->request($Request);
  if($Response->is_success) # успешно выполненный запрос
  {
  $text = $Response->content;
  }
open (F,">2.html") || print "МЕРС $_[0] ДКЪ ВРЕМХЪ";
print F $text;
close(F);
Название: Добавить запись на гостевую сайта при помощи perl
Отправлено: NeoNox от 05 Апреля 2002, 14:44:12
Цитировать
if($Response->is_success) # успешно выполненный запрос
{
$text = $Response->content;
}
open (F,">2.html") || print "МЕРС $_[0] ДКЪ ВРЕМХЪ";


значит у тебя не успешно выполненный запрос...
Название: Добавить запись на гостевую сайта при помощи perl
Отправлено: от 05 Апреля 2002, 14:48:24
Запрос он выполнил , да запись не добавил , уже 2 дня бьюсь не могу понять почему, может у кого есть другой способ добавлять записи через скрипты
Название: Добавить запись на гостевую сайта при помощи perl
Отправлено: Chs от 05 Апреля 2002, 15:12:39
Цитировать
if($Response->is_success) # успешно выполненный запрос
{
$text = $Response->content;
}
open (F,">2.html") || print "МЕРС $_[0] ДКЪ ВРЕМХЪ";
print F $text;
close(F);
.....
Запрос он выполнил , да запись не добавил

При открытии файла режим ">" обнуляет его, а не добавляет данные в конец файла.
Может в этом проблема?
Название: Добавить запись на гостевую сайта при помощи perl
Отправлено: от 05 Апреля 2002, 15:25:45
if($Response->is_success) # успешно выполненный запрос
{
$text = $Response->content;
}
open (F,">2.html") || print "МЕРС $_[0] ДКЪ ВРЕМХЪ";
print F $text;
close(F);


эта часть программы  не причем , она копирует содержимое страницы в файл на диске, а в интернете запись в гостевую не добавляется!!!
Название: Добавить запись на гостевую сайта при помощи perl
Отправлено: NeoNox от 05 Апреля 2002, 15:35:29
Цитировать
в интернете запись в гостевую не добавляется!!!

конечно не добавится ...ты у них form action= в форме смотрел???
Название: Добавить запись на гостевую сайта при помощи perl
Отправлено: Chs от 05 Апреля 2002, 15:51:29
Цитировать
ты у них form action= в форме смотрел???

А причем здесь action? Если параметры нормально подобраны, то все нормально.
Они могут referer проверять и еще что-нибудь, но не более.
Обойти это можно.
Название: Добавить запись на гостевую сайта при помощи perl
Отправлено: NeoNox от 05 Апреля 2002, 18:33:31
Цитировать
А причем здесь action?

А при том, что он хочет запись в гостевой оставить.
Скрипт (я так думаю, если там куча редиректов и "маскировочных" скриптов не идет) который пишет в гостевую на яндексе - leave_message.xhtml а не index.xhtml (он только показывает сообщения). А унрегистред хочет не "грабить" а оставлять сообщения. Поэтому $url=\'http://narod.yandex.ru/guestbook/leave_message.xhtml\';

ЗЫ. Там еще скрытое поле owner есть...