小编典典
通用方法是这样的:
使用Fiddler之类的工具,找出浏览器发出了哪些HTTP请求,以获取所需的数据。
使用WebClient提取所需的HTTP请求。
请查看我对这个问题的回答,以获取有关HTML屏幕抓取的更多信息,以获取更多详细信息以及如何解决可能遇到的各种问题。
对于上述#1,以下是使用提琴手了解如何发出特定请求的方法:
首先,找到您关心的请求(该请求包含响应中所需的数据)。您可以通过在提琴手的左窗格中双击每个请求并在右下方窗格中的“ text
fiew”选项卡内部进行检查来检查每个请求。您也可以使用CTRL +
F在多个请求中查找内容,但是某些请求已压缩,因此,如果要确保可以通过短信发送以下信息,则在确定请求之前,请确保在工具栏中选择了“自动解码”按钮。搜索所有这些。
找到所需的请求后,在Fiddler中双击它,然后在右上窗格中选择“标头”选项卡。这些是正在发送的标头。如果您的客户端恰好将这些标头发送到服务器,则应该取回相同的数据。但是通常并非所有标头都是必需的,因此您需要弄清楚需要哪些标头。您可以使用右上方窗格中的Fiddler的“请求构建器”选项卡来执行此操作。选择该选项卡,然后将数据请求从左窗格拖到请求构建器上。然后提交请求以确认它返回正确的结果。然后开始删除标头,一次删除一个标头,直到请求停止工作-
您知道该标头是必需的。尝试删除每个标题,直到找到所需的标题为止。
然后,您需要编写代码以生成正确的标题。不用担心Host:标题,它是为您自动生成的。对于Cookie:标题,您需要使用CookieContainer该类生成它。对于其他标头(例如UserAgent:,Accept:等),通常可以将其复制并按原样添加到您的请求中。
2020-07-26