Я пытаюсь автоматизировать отправку sms через Way2sms в Perl LWP. Я могу войти в систему успешно. Затем нажмите кнопку . Отправьте SMS ссылку в браузере, чтобы перейти на страницу отправки sms. Оттуда, основываясь на URL-адресе страницы и URL-адресе iframe, в котором расположены поля sms, я пытаюсь создать абсолютный URL-адрес страницы, на которую должна быть отправлена форма, и разместить ее с правильными параметрами (вы можете см. все это на изображении). Однако смс не отправляется. Может ли кто-нибудь сказать мне, что я делаю неправильно здесь? (Существует аналогичный модуль CPAN, который решает эту задачу через Mechanize
, я стараюсь другой подход)Невозможно получить доступ на основе файлов cookie к iframe на странице HTML
use LWP::UserAgent;
use HTTP::Cookies;
my $cookie_jar = HTTP::Cookies->new(
file => "cookies.txt",
autosave => 1,
);
my $ua = LWP::UserAgent->new(
agent =>
'Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1',
cookie_jar => $cookie_jar,
);
my $response = $ua->post(
'http://site2.way2sms.com/contentt/bar/Login1.action',
{
username => $mob,
password => $pass,
}
);
if ($response->is_redirect) {
$response = $ua->get($response->header('Location'));
print 5 if $response->decoded_content =~ /Kaustav Mukherjee/i; #prints it, showing that the login is successful
}
my $smsresp = $ua->post("http://site5.way2sms.com/jsp/quicksms.action",[MobNo=>$mob,textArea=>'Hello World']);
if ($smsresp->is_redirect) {
$smsresp = $ua->post($smsresp->header('Location'),[MobNo=>$mob,textArea=>'Hello World']);
}
Взгляните на точные сообщения с использованием firebug (я вижу, что вы работаете на экранном экране). Поскольку на удаленном веб-сайте могут быть разные политики безопасности, причиной этой проблемы может быть много, поэтому совместное сравнение двух запросов - это единственный способ получить представление о том, что происходит не так. – mzedeler