我正在尝试使用curl从澳大利亚统计局网页中自动请求职业代码。当我使用Curl执行POST请求时,出现“搜索索引不存在”错误。我认为问题在于我没有输入两个输入,所以它失败了。我希望有这方面的援助:使用隐藏输入值卷曲POST表单请求
卷曲要求:
curl --data "searchcontent=&helpdocid=[docid]&searchtext=121315&submit=Go" http://www.ausstats.abs.gov.au/ausstats/searchclass.nsf/(Searchattmnt)?openagent
从ABS网站相关的代码是这样的:
<!-- Start Search Content -->
<div id="titlemain"> Search Results</div><div id="middle"></div>
<form name="attmnt" method="post" action="http://www.ausstats.abs.gov.au/ausstats/searchclass.NSF/(Searchattmnt)?openagent">
<input type="hidden" name="searchcontent" value="">
<input type="hidden" name="helpdocid" value="[docid]">
<div id="content">
<h3>New Search :</h3>
<input type="text" name="searchtext" size =60 MAXLENGTH="255" value="">
<INPUT VALUE="Go" TYPE="submit">
</form>
</div>
<!-- End Search Content -->
让我知道如果别的会有所帮助。如果我无法得到这个工作,我正在注视着一些严重的数据录入。
编辑:只纠正卷曲请求中的错字,以避免混淆。
您是否尝试使用Wireshark等工具从网页捕获POST?这可能比试图破译HTML更准确。 – 2011-02-02 06:06:56
可能是这里的拼写错误,但&sumbit应该&提交(如果它甚至需要)。而且,这些隐藏的元素值可能实际上是基于用户操作使用javascript设置的。 – 2011-02-02 06:13:03