我正在尝试使用 C# 的 HttpWebRequest 根据 url 获取页面源。
在浏览器中,我这样做:
- 我去http://brokercheck.finra.org/Search/Search.aspx
- 插入邮政编码,例如 00501。然后进行搜索。
然后我被重定向到 http://brokercheck.finra.org/Search/SearchResults.aspx?SearchGroup=Individual&IndlText=&FirmText=&ZipCode=00544&ZipRadius=5&PageNumber=1 这个页面的html就是我想要的。
使用 HttpWebRequest 的 get 方法的简单方法不起作用。它只会获取搜索页面的 html。
然后,我尝试发送帖子并获取 cookie,并发送带有 cookie 的获取请求。 但响应 html 仍然是搜索页面的 html。
最佳答案
使用http嗅探器工具(WireShark或HttpWatch)通过网络浏览器捕获http请求和响应。
search.aspx 页面使用: onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$phContent$ucUnifiedSearch$lbtnFreeFormSearch", "", true, "", "", false, false))"提交要求。
SearchResults.aspx页面可能会使用一些请求头信息(例如之前的页面)来判断是否是直接访问。
您需要找出 SearchResults.aspx 请求中的确切数据。
关于c# - 从 url 获取 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665701/