相关疑难解决方法(0)

WebClient类的域凭据不起作用

我正试图通过C#代码获取网站的html源代码.当我使用Windows身份验证访问该站点时,以下代码有效:

using (WebClient client = new WebClient())
            {
                client.Credentials = CredentialCache.DefaultCredentials;
                using (Stream stream = client.OpenRead("http://intranet/"))
                using (StreamReader reader = new StreamReader(stream))
                {
                    MessageBox.Show(reader.ReadToEnd());
                }
            }
Run Code Online (Sandbox Code Playgroud)

当我手动输入我的域凭据时,我收到"未经身份验证"的消息:

using (WebClient client = new WebClient())
            {
                NetworkCredential credentials = new NetworkCredential("username", "pass", "domain");
                client.Credentials = credentials;
                using (Stream stream = client.OpenRead("http://intranet/"))
                using (StreamReader reader = new StreamReader(stream))
                {
                    MessageBox.Show(reader.ReadToEnd());
                }
            }
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

.net

26
推荐指数
1
解决办法
3万
查看次数

标签 统计

.net ×1