首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从网页获取数据

从网页获取数据
EN

Stack Overflow用户
提问于 2010-07-15 22:42:37
回答 5查看 1.5K关注 0票数 2

我有一个应用程序的想法,这将真正帮助我在工作中,但我不确定这是否可能。

我想运行一个C#桌面应用程序,它将请求一个值。当提供一个值时,应用程序将打开一个浏览器,转到一个网页并将该值添加到在线网站上的表单中。然后提交表单,并加载一个包含结果表的新页面。然后,我想从页面源代码中提取结果表,并编写代码来解析结果值。

用户是否在实际的浏览器中看到这种情况并不重要。换句话说,如果有一种方法可以通过读取HTTP请求来做到这一点,那就太好了。

我遇到的最大问题是将值放入表单中,然后在表单提交并加载下一个页面后检索页面源代码。

真的很感谢任何人的帮助。

谢谢

EN

回答 5

Stack Overflow用户

发布于 2010-07-15 22:45:51

这绝对是可能的,而且你不需要使用实际的web浏览器。您可以简单地使用System.Net.WebClient发送您的HTTP请求并获得HTTP响应。

我建议使用wireshark (或者你可以使用Firefox + Firebug),它可以让你看到HTTP请求和响应。通过查看HTTP流量,您可以确切地看到应该如何传递HTTP请求以及应该设置哪些参数。

票数 1
EN

Stack Overflow用户

发布于 2010-07-15 22:48:00

假设您只在法律上下文中使用它:

通常,web表单通过POST请求发送到web服务器,特别是一些处理它的脚本。您可以查看表单页面的HTML代码并找到表单的目的地(表单的操作)。

然后,您可以在C#中使用HttpWebRequest来“假装您是表单”,发送一个包含所有必需参数的POST请求(将它们添加到header中)。

因此,您将获得目标页面的源代码,因为它将被发送到浏览器。你可以解析这个。

票数 1
EN

Stack Overflow用户

发布于 2010-07-15 22:47:37

你不需要让浏览器来处理这件事。WebClient应该能做你需要的所有事情。当您使用浏览器提交表单时,您需要查看实际发布的内容,然后您应该能够使用WebClient发出POST请求,并以字符串形式检索结果页面。

WebClient constructor的文档有一个很好的例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3256677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档