2012-08-29 2 views
2

Я пытаюсь автоматизировать отправку 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']); 
    } 

enter image description here

+0

Взгляните на точные сообщения с использованием firebug (я вижу, что вы работаете на экранном экране). Поскольку на удаленном веб-сайте могут быть разные политики безопасности, причиной этой проблемы может быть много, поэтому совместное сравнение двух запросов - это единственный способ получить представление о том, что происходит не так. – mzedeler

ответ

0

Вот косвенный ответ, который может помочь вам:

  1. Если вам нужно использовать этот сайт, попробуйте использовать что-то вроде CasperJS. Может быть какая-то магия JavaScript, которая должна произойти.
  2. Возможно, вы могли бы использовать что-то вроде Google Voice или другого более умного сервиса для автоматизации отправки текстовых сообщений. Похоже, у кого-то на CPAN уже есть sweet Google::Voice module.