首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

怎么用perl提交表单

2012-03-09 
如何用perl提交表单我现在想编个程序提交一些数据到一个网页然后经服务器运算后抓取生成网页上的结果,我现

如何用perl提交表单
我现在想编个程序提交一些数据到一个网页然后经服务器运算后抓取生成网页上的结果,我现在知道用post这个函数,可是我不知道url应该写什么,是不是写那个网页的源代码里面的post action后面那串地址?好像是个CGI程序,我试了一下,老是错误500。

谢谢!!

我把写的程序贴出来,依葫芦画瓢的,如果有错误欢迎大家指正阿~~

#!usr/bin/perl -w
use 5.010;
use strict;
use LWP;

my $browser;

my $sequence = 'WSFTNDSSREKELLPEGDRGKRDVARLYSMIKCSTGCDPLIYKGYGCYCGFGGHGVPADGIDRCCRVHDKCYGQSNCISYLEYFVPYVWKCYRGKPLCAVDHGEFGGPDSCAARLCQCDLRLSRCLKRYYCPHRRSICHSSRSRRLQNLIFFD';

&prediction;

sub prediction{
my ($content,$message,$is_success) = do_POST(
'http://bioinf4.cs.ucl.ac.uk:3000/psipred/',
['sequence'=> $sequence,
'subject'=>'123',]
);
die "Errow in tranlation $message\n" unless $is_success;
print $content;
print "(<$1>)" if ($content =~ m/p\s+s\s+i\s+p\s+r\s+e\s+d\s+: (.+)/);
}

sub do_POST{
$browser = LWP::UserAgent->new();
my $resp = $browser ->post(@_);
return ($resp->content, $resp->status_line, $resp->is_success, $resp)if wantarray;
return unless $resp->is_success;
return $resp->content;
}

[解决办法]
最好抓个提交内容的包分析一下,就清楚了
因为有些东西可以隐藏在JS里面,只分析HTML比较容易出问题
可以用firefox,装一个livehttpheader插件,就能截取提交的内容了,然后对照着就可以自己提交数据了
[解决办法]
你参考一下CSDN下载的资源,有用PERL写的外挂程序,搜"parker perl"就行,另外在windows下安装一个Fiddler,你可以截取所有网页访问的数据。不管你手工操作的,还是程序发出的请求和返回文本都可以看到,你自己比较一下就知道偏差在哪里了。
[解决办法]
呵呵,同行
[解决办法]
顶下,听说每天回贴都有分的!
[解决办法]
学习 学习
[解决办法]
出现500错误的原因是很多的,一般来说,如果程序出错,那么在浏览器内会返回给用户一个友好的错误提示,统一称之为服务器500错误。 

解决的方法就是您必须在http中能够正确的获得错误信息,方法为:请打开浏览器,选择工具,internet选项,高级,在高级中的浏览项目里面有一个"显示http友好错误提示"的复选框,请取消该复选框,这样您可以获得正确的错误提示。 在获得正确的错误提示之后,您就可以根据该错误提示检查您具体的出错原因了 

热点排行