2

我正在尝试使用 C# 的 HttpWebRequest 来获取基于 url 的页面源。

在浏览器中,我这样做:

  1. 我去http://brokercheck.finra.org/Search/Search.aspx
  2. 插入一个邮政编码,比如 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。

4

1 回答 1

3

使用 http 嗅探器工具(WireShark 或 HttpWatch)通过 Web 浏览器捕获 http 请求和响应。

search.aspx 页面使用:onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$phContent$ucUnifiedSearch$lbtnFreeFormSearch", "", true, "", "", false, false))" 提交请求。

SearchResults.aspx 页面可能会使用一些请求头信息(例如 previos 页面)来确定它是否是直接访问。

您需要在 SearchResults.aspx 的请求中找出确切的数据。

于 2013-10-30T19:13:40.117 回答