C#自动登录特殊端口的网站

时间:2012-05-10 06:10:29

标签: c# login httpwebrequest httpwebresponse autologin

我使用的网站很多,所以我正在创建一个工具来帮助我使用它并轻松地从中检索数据。我处理的网站是使用JSP构建的。

我正在构建的工具将在C#下使用WPF完成。所以我需要做的(并且不知道如何)连接到网站(HttpWebRequest或类似的东西),登录(用户名和密码以及一些其他参数通过POST方法发送)以及请求标头信息,如引用等等......

我希望有人指导我如何创建一个连接到网站的应用程序,登录然后导航到两个或三个不同的页面然后检索文件或只是复制HTML代码我将处理其余的。

提前致谢...

2 个答案:

答案 0 :(得分:1)

我认为你基本上回答了自己的问题。使用C#中的Web连接库,登录并使用GetResponse()拉取HTML文本。

答案 1 :(得分:1)

从我们在评论中的小讨论到您的问题,我将您的问题解释为与从.NET内部执行Web请求时如何设置身份验证和http动词更多相关,而不是与安全相关的问题。对不起,如果我误解了你。

你提到HttpWebRequest这也是我要开始的地方。

您使用Create上的静态WebRequest方法创建实例:

    var request = (HttpWebRequest)WebRequest.Create('https://some.url');

然后使用

分配标题
    request.Headers[HttpRequestHeader.Authorization] = 'your auth token';

使用上述方法无法设置某些值(如Date标头),因为它具有专用属性。请参阅msdn。{/ p>上的HttpWebRequest description

要更改动词/方法,您只需使用Method字符串属性即可。

使用GetRequestBody和'GetResponseBody methods. They return respectively a write-only/read-only Stream`编写请求并阅读响应正文。这些也存在于异步样式变体中,如果您正在执行多页加载,则这些变体是首选。