C# 在特殊端口上自动登录网站
本文关键字:登录 网站 | 更新日期: 2023-09-27 18:33:47
我经常使用网站,所以我正在创建一个工具来帮助我使用它并轻松地从中检索数据。我处理的网站是使用 JSP 构建的。
我正在构建的工具将在 C# 下使用 WPF 完成。所以我需要做的(并且不知道如何)是连接到网站(HttpWebRequest 或类似的东西)、登录(用户名和密码以及其他一些参数通过 POST 方法发送)以及请求标头信息,如引用等......
我希望有人指导我如何创建一个连接到网站的应用程序,登录然后导航到两个或三个不同的页面,然后检索文件或只是复制HTML代码,我将处理其余的。
提前感谢...
我想你基本上回答了你自己的问题。使用 C# 中的 Web 连接库,使用 GetResponse() 登录并提取 HTML 文本。
从我们在评论中的小讨论到您的问题,我将您的问题解释为与从 .NET 中执行 Web 请求时如何设置身份验证和 http 动词有关,而不是与安全性相关的问题。对不起,如果我误解了你。
你提到了HttpWebRequest
这也是我要开始的地方。
您可以在 WebRequest
上使用静态 Create
方法创建实例:
var request = (HttpWebRequest)WebRequest.Create('https://some.url');
然后,您可以使用任一方式分配标头
request.Headers[HttpRequestHeader.Authorization] = 'your auth token';
某些值(如 Date 标头)无法使用上述方法设置,因为它具有专用属性。请参阅 msdn 上的 HttpWebRequest 说明。
要更改谓词/方法,您只需使用 Method
字符串属性即可。
编写请求和读取响应正文是使用 GetRequestBody
和"GetResponseBody methods. They return respectively a write-only/read-only
Stream"完成的。这些也存在于异步样式变体中,如果您正在进行多页面加载,则首选这些变体。