【问题标题】:Get HTML from url从 url 获取 HTML
【发布时间】:2013-10-29 17:55:18
【问题描述】:

我正在尝试使用 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。

【问题讨论】:

  • 你想从那个请求中得到什么?
  • neoistheone,我要获取brokercheck.finra.org/Search/…的页面源
  • 我看不出这是GET。我想说您确实需要分析发送到服务器的内容(例如标头、正文、请求类型)。
  • 尝试使用这些参数向“Search.aspx”而不是“SearchResults.aspx”发出 POST 请求
  • 我确实分析了见下图。

标签: c# html asp.net httprequest


【解决方案1】:

使用 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 的请求中找出确切的数据。

【讨论】:

    猜你喜欢
    • 2015-12-09
    • 1970-01-01
    • 2014-12-19
    • 2017-10-12
    • 2020-03-11
    • 2017-10-16
    • 2013-07-31
    • 2016-12-15
    • 2015-05-09
    相关资源
    最近更新 更多