gpt4 book ai didi

c# - 有什么办法可以通过登录信息来读取 C# 中的网站

转载 作者:行者123 更新时间:2023-11-30 22:43:10 24 4
gpt4 key购买 nike

我想用 C# 阅读一个网站:

        WebRequest myWebRequest = WebRequest.Create("http://www.myurl.com/test.aspx");
WebResponse myWebResponse = myWebRequest.GetResponse();
Stream ReceiveStream = myWebResponse.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(ReceiveStream, encode);
string strResponse = readStream.ReadToEnd();

问题是他们现在在页面上进行了身份验证,所以当我访问网站时会收到登录提示,必须输入用户名和登录。

我的代码现在返回错误:

The remote server returned an error: (401) Unauthorized.

我尝试添加这个:

myWebRequest.Credentials = new NetworkCredential("[username]", "[pwd]");

还有这个:

ServicePointManager.ServerCertificateValidationCallback += delegate { return true; }; 

还是报同样的错误:

有没有办法在上面的 WebRequest 代码中传递这些凭据?

最佳答案

如果网站使用 HTTP 基本身份验证(浏览器生成的登录对话框),您可以将 HttpWebRequestCredentials 属性设置为 NetworkCredential 实例。

如果网站使用表单例份验证(基于 HTML 的登录表单;这更常见),您将需要单独请求登录网站并在整个网站上共享一个 CookieContainer请求保留登录名。
您可以使用 Fiddler查看登录请求应该是什么样子。

关于c# - 有什么办法可以通过登录信息来读取 C# 中的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4082448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com