免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2379 | 回复: 4
打印 上一主题 下一主题

[SOLVED]Perl submit form fail [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-25 22:44 |只看该作者 |倒序浏览
页面部分内容如下
  1. <div class="txd">
  2.         <form name="comment_form" method="post" action="add_comment">                        [color=Blue]### <- here action... ###[/color]
  3.                 <div style="display:none;">
  4.                         <input type="hidden" name="ck" value="J2NL"/>
  5.                 </div>
  6.                 <textarea id="last" name="rv_comment" rows="8" cols="54"></textarea><br/>
  7.                 <input type="hidden" name="start" value="0"/>
  8.                 <input type="submit" value="Submit"/>
  9.         </form>
  10. </div>
复制代码


我想对此在textarea中提交一点内容.
以下是我的方案:

  1. use LWP;
  2. use LWP::Simple;
  3. use HTTP::Cookies;

  4. my $ua = LWP::UserAgent -> new();
  5. my $my_url = "http://www.***.com";

  6. #......#

  7. my $resp = $ua->post(
  8.         "$my_url/add_comment",                                [color=Blue]### <-- here ###[/color]
  9.         [
  10.                 'ck' => "J2NL",
  11.                 'rv_comment' => "auto test",
  12.                 'start' => "0"
  13.         ]
  14. );
复制代码

代码能成功执行,但不知道为什么,内容并没有成功提交上去。(页面登陆时用户名和密码都能成功提交的)
返回的 $resp->status_lines 是 302 Found
请各位大侠帮忙,我该如何针对那段内容来提交?{

-----------------------------------------------------------------
感谢版主的提议,通过抓包分析并更正了错误。

[ 本帖最后由 alvinrxg 于 2009-12-28 04:52 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-12-25 23:14 |只看该作者
首先加上use strict和use warnings.

302是页面重定向了,你要跟踪这个redirection.

如果单纯是如上表单的话,LWP post没任何问题。
如果牵涉到redirect或登录验证之类的,就要抓包分析其过程(HTTPWatch).

论坛徽章:
0
3 [报告]
发表于 2009-12-26 00:20 |只看该作者
push @{ $browser->requests_redirectable }, 'POST';

论坛徽章:
0
4 [报告]
发表于 2009-12-26 01:22 |只看该作者

回复 #1 alvinrxg 的帖子

Do not forget this hidden parameter:
<input type="hidden" name="start" value="0"/>

Maybe server site will check this parameter.
Adding it in the ..->post(..., "start"=>0) and try again.

[ 本帖最后由 ulmer 于 2009-12-26 01:49 编辑 ]

cu_umler_xmas.jpg (8.98 KB, 下载次数: 14)

cu_umler_xmas.jpg

论坛徽章:
0
5 [报告]
发表于 2009-12-26 19:12 |只看该作者
原帖由 兰花仙子 于 2009-12-25 23:14 发表
首先加上use strict和use warnings.

302是页面重定向了,你要跟踪这个redirection.

如果单纯是如上表单的话,LWP post没任何问题。
如果牵涉到redirect或登录验证之类的,就要抓包分析其过程(HTTPWatch).


呃,我不会跟踪……



原帖由 ulmer 于 2009-12-26 01:22 发表
Do not forget this hidden parameter:

Maybe server site will check this parameter.
Adding it in the ..->post(..., "start"=>0) and try again.

不行呃,还是失败了。

------------------------------------------------------------------
哪位大侠也玩“豆瓣”的,帮我看看回帖该怎么提交……
想帮朋友搞个东东,监视他发的几百个帖子,如果别人有回复了,就提醒下,然后在监视程序里回复该回复。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP