curl脚本只是填写表单而没有提交


curl script just filling up the form not submitting it

我有这个小问题。我已经写了一个curl脚本来首先点击一个链接然后填写链接提供的表格。

链接是上的"包裹查询"http://www.fikeandfike.com/propertytax/Grundy/MainMenu.aspx?c=32

表单打开http://www.fikeandfike.com/propertytax/Grundy/Inquiry.aspx

但我的问题是剧本只是填写表格没有用它做任何事情

当我回应旋度的结果它显示的是填写好的表格,但我想看看表格的结果

你能告诉我为什么会发生这种事吗?你能建议一些技巧来解决这个问题吗?

正如评论中所提到的,问题是你试图"抓取"的网站是使用ASP.net构建的,它没有以传统的方式使用表单数据。

我确实知道有人成功地完成了这项工作,但这很麻烦。需要注意的关键隐藏字段有:

  • __EVENTTARGET__EVENTARGUMENT:当您提交表单时,它们由Javascript设置,但始终为相同的值。如果您使用浏览器调试工具(Firebug、URLParams等)来检查真实POST的结果,您将能够毫无问题地填写这些内容
  • __VIEWSTATE:每次加载页面时都会重新生成,所以每次请求时都需要从加载表单的HTML中抓取它
  • __EVENTVALIDATION:此字段专门用于防止您试图进行的欺骗。与__VIEWSTATE一样,它在每次页面加载时都会重新生成,但它的存在可能意味着您一次只能更改一个字段,因为它将根据以前的状态验证您提交的内容

我可能在这里的一些细节上错了,但这应该给你一个开始的地方。。。