使用邮递员发出“ _doPostBack”请求

时间:2020-07-26 00:55:21

标签: python python-3.x web-scraping python-requests postman

我正在从https://www.iob.in/bc_locator.aspx抓取一些数据,并且页面通过诸如__doPostBack('ctl00$ContentPlaceHolder1$gv_Branch','Page$n')之类的请求加载表中下一个内容的数据,其中n是页码。

我能够通过URL发出普通请求,但找不到通过邮递员模仿__doPostBack('ctl00$ContentPlaceHolder1$gv_Branch','Page$n'的方法。有相同的想法吗?

1 个答案:

答案 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等。从原始页面获取它们。