从perl调用一个链接

时间:2012-05-18 03:58:03

标签: perl

我正在使用WWW :: Scripter来调用javascript。该网站的链接是this. 文档的html看起来像这样。

<form id="whitelistForm" method="get" action="">
<table id="whitelistTable" class="info">
<tbody>
<tr>
<th class="firstCol" width="75%" style=""> E-mail address </th>
<th class="lastCol">Actions</th>
</tr>
<tr class="even">
<td>id@mailhost.com</td>
<td class="button">
<a onclick="deleteWhitelist('id@mailhost.com')" href="javascript:void(0)">Delete</a>
</td>
</tr>
</tbody>
</table>
</form>
<div id="whitelist-du-output" class="actionResult"></div>
<div class="subLink">
<a id="addNewEmailAddress" class="myk-link" href="javascript:void(0)" style="font-weight: normal;"> Add a new approved e-mail address </a>
</div>
</div>

有没有人知道如何从perl执行addNewEmailAddress。(我已经使用WWW :: Mechanize登录)。

1 个答案:

答案 0 :(得分:0)

如果您想使用Perl向此Amazon系统添加/提交(新)电子邮件地址,您必须先登录。

我相信你已编码的那一步。然后,您必须保存Cookie 以获取更多请求。


要提交电子邮件,您需要将 POST 请求发送至网址:

https://www.amazon.com/gp/digital/fiona/du/add-whitelist.html/ref=kinw_myk_wl_add

并使用此请求提交两个参数:

  • sid (这是您在Cookie中找到的会话ID;例如:183-9522205-2962863)
  • newEmail (您要提交的电子邮件地址;例如:my@email.address.com)

不要忘记编码这些字符串。

检查回复代码,必须 200 。然后阅读响应文本以检查成功参数的值。

您可能需要将referer 添加到此请求中。如果是这样,那么它应该是:

https://www.amazon.com/gp/digital/fiona/manage?ie=UTF8&ref_=gno_yam_myk