我有这个小问题。我已经写了一个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
一样,它在每次页面加载时都会重新生成,但它的存在可能意味着您一次只能更改一个字段,因为它将根据以前的状态验证您提交的内容
我可能在这里的一些细节上错了,但这应该给你一个开始的地方。。。