【发布时间】:2011-02-02 06:02:08
【问题描述】:
我正在尝试使用 curl 自动从澳大利亚统计局网页请求职业代码。当我使用 Curl 执行 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 -->
如果有其他帮助,请告诉我。如果我不能让它工作,我会盯着一些严肃的数据输入。
编辑:刚刚修正了 curl 请求中的错字以避免混淆。
【问题讨论】:
-
您是否尝试过使用 Wireshark 之类的工具从网页捕获 POST?这可能比尝试破译 HTML 更准确。
-
这里可能是一个错字,但 &sumbit 应该是 &submit (如果它甚至需要的话)。此外,这些隐藏元素的值实际上可以根据用户操作使用 javascript 设置。
-
@Justin Morgan - 不,我没有,我会试试的。 @Bill N - 是的,复制它会是一个错字。如果是这样,我还可以使用 curl 提交这个帖子,还是会阻止它?