C# 登录网站并检索数据

C# 登录网站并检索数据,c#,.net,wpf,C#,.net,Wpf,我正在使用.NET3.5构建一个C#应用程序,它需要登录到一个网站选择一些选项,然后转到另一个包含Excel文件链接的页面。我想知道如何继续执行这些步骤 1) 加载网页(在应用程序窗口中隐藏或可见,首选隐藏) 2) 键入用户名/密码组合并将其提交到网站 3) 根据提供的帐户选择适当的选项(只需知道如何查看复选框和列表) 4) 继续下一页并在链接中加载文件(可能将其下载到临时位置,读取后删除) 更新: 我有一个在工作中使用的应用程序,它执行以下操作 当我运行应用程序时,它会登录到服务器以验证我的会

我正在使用.NET3.5构建一个C#应用程序,它需要登录到一个网站选择一些选项,然后转到另一个包含Excel文件链接的页面。我想知道如何继续执行这些步骤

1) 加载网页(在应用程序窗口中隐藏或可见,首选隐藏)

2) 键入用户名/密码组合并将其提交到网站

3) 根据提供的帐户选择适当的选项(只需知道如何查看复选框和列表)

4) 继续下一页并在链接中加载文件(可能将其下载到临时位置,读取后删除)

更新:

我有一个在工作中使用的应用程序,它执行以下操作

当我运行应用程序时,它会登录到服务器以验证我的会话。应用程序有一个按钮,单击该按钮时,可使用网页本身显示/隐藏页面上的当前活动

应用程序加载页面,键入用户名,然后输入密码并提交。然后在服务器上验证会话


但我的应用程序有点不同,我的应用程序将加载网页(主页)登录,然后选择一些选项(我将根据页面设置这些选项),然后在下一页,我将在excel或我的应用程序中加载一个链接(无论我能做什么),然后将根据用户输入对结果执行我的操作。

如果我读对了,你需要一个C#Winforms应用程序来操作网站吗

如果是这样,那么最好的方法就是简单地使用大量HTTP请求,并使用应用程序捕获和解析响应。在名称空间中,您已经拥有了执行此操作所需的一切,特别是和


除非你更明确地提出你的问题,否则我无法真正深入了解更多细节,但是如果你确实有一种与你需要的数据交互的替代方法(想想webservices,JSON/XML)

如果我读对了,你需要一个C#Winforms应用程序来操作网站吗

如果是这样,那么最好的方法就是简单地使用大量HTTP请求,并使用应用程序捕获和解析响应。在名称空间中,您已经拥有了执行此操作所需的一切,特别是和


除非您提出更具体的问题,否则我无法深入了解更多细节,不过,如果您确实有一种与所需数据交互的替代方法(想想webservices、JSON/XML)

这不是一项简单的任务。这就是所谓的网页抓取

理想情况下,网页应具有用于机器处理的替代API。RPC/SOAP/REST之类的

如果您必须这样做,那么
HttpWebRequest
HttpWebResponse
是您的朋友。对于html解析,您可以自己选择最合适的工具(正则表达式、字符串解析器或更健壮的工具)


然而,这将是一个痛苦的维护。

这不是一个琐碎的任务。这被称为网页抓取

理想情况下,网页应该有一个用于机器处理的替代API。RPC/SOAP/REST或类似的API

如果您必须这样做,那么
HttpWebRequest
&
HttpWebResponse
是您的朋友。对于html解析,您可以自己选择最合适的工具(regex、字符串解析器或更健壮的工具)


然而,这将是一个很难维持的过程。

使用
HttpWebRequest
HttpWebResponse
的一系列帖子和获取将让你度过难关

虽然这根本不是一项容易的任务。你还需要一些工具来真正获取网页的“逻辑”,或者换句话说,嗅探它,看看你如何组织你的get和帖子。使用类似的工具来完成这项任务

一旦您了解了需要下注的内容和需要发布的内容,就可以进入编程部分

编辑: 加载页面的唯一方式是通过HTTP GET(HttpWebRequest),登录和选择/指定选项的唯一方式是通过HTTP POST(HttpWebResponse),即如果服务器不使用某种web界面(web服务或WCF,这是完全不同的事情)

在所有这些之后,当您实际收到响应时,您需要使用regex或任何适合您需要的工具来解析它以获取所需的数据

就excel而言。如果您想在应用程序中加载excel并对其执行操作
微软有一个完整的API用于此目的:

使用
HttpWebRequest
HttpWebResponse
的一系列POST和get将帮助您度过难关

虽然这根本不是一项容易的任务。你还需要一些工具来真正获取网页的“逻辑”,或者换句话说,嗅探它,看看你如何组织你的get和帖子。使用类似的工具来完成这项任务

一旦您了解了需要下注的内容和需要发布的内容,就可以进入编程部分

编辑: 加载页面的唯一方式是通过HTTP GET(HttpWebRequest),登录和选择/指定选项的唯一方式是通过HTTP POST(HttpWebResponse),即如果服务器不使用某种web界面(web服务或WCF,这是完全不同的事情)

在所有这些之后,当您实际收到响应时,您需要使用regex或任何适合您需要的工具来解析它以获取所需的数据

就excel而言。如果您想在应用程序中加载excel并对其执行操作
Microsoft有一个完整的API用于此目的:

我更新了问题,并对问题进行了简要描述。很难准确理解您提出的问题。为什么不将您的问题拆分为更小的具体步骤,并在遇到问题时询问这些步骤呢?我更新了问题,并对问题进行了简要描述。我t是