2

我正在尝试通过 Perl LWP 中的 Way2sms 自动发送短信。我能够成功登录。然后我点击浏览器中的发送短信链接进入短信发送页面。从那里,根据页面 url 和 sms 字段所在的 iframe 的 url,我尝试构建表单应该发布到的页面的绝对 URL,并使用正确的参数发布(你可以在图像中看到这一切)。但是,没有发送短信。谁能告诉我我在这里做错了什么?(CPAN 中有一个类似的模块可以通过 来完成此操作Mechanize,我正在尝试不同的方法)

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']);
   }

在此处输入图像描述

4

1 回答 1

0

这是一个可以帮助您的间接答案:

  1. 如果您必须使用这个网站,请尝试使用 CasperJS 之类的东西。可能需要发生一些 JavaScript 魔法。
  2. 也许您可以使用 Google Voice 或其他更智能的服务来自动发送短信。看起来 CPAN 上的某个人已经为此提供了一个甜蜜的 Google::Voice 模块
于 2013-04-11T02:39:56.530 回答