我正在从https://www.iob.in/bc_locator.aspx抓取一些数据,并且页面通过诸如__doPostBack('ctl00$ContentPlaceHolder1$gv_Branch','Page$n')
之类的请求加载表中下一个内容的数据,其中n
是页码。
我能够通过URL发出普通请求,但找不到通过邮递员模仿__doPostBack('ctl00$ContentPlaceHolder1$gv_Branch','Page$n'
的方法。有相同的想法吗?
答案 0 :(得分:1)
此页面是使用Asp.Net开发的网络表单。首次访问该网站时,您会获得一个cookie ASP.NET_SessionId
,该cookie可以标识您的计算机。您需要将此Cookie附加到回发,否则它将失败。
要以编程方式实现这一目标,只需将GET
简化为https://www.iob.in
并检索cookie。然后将POST
发送到https://www.iob.in/bc_locator.aspx
,并附加cookie。
邮递员:
{
"__EVENTTARGET": "ctl00$ContentPlaceHolder1$gv_Branch",
"__EVENTARGUMENT": "Page$1"
}
为了通过运行Asp事件导航到其他页面,您可能需要__VIEWSTATE
,__VIEWSTATEGENERATOR
。 __EVENTVALIDATION
等。从原始页面获取它们。