C#学习教程:如何在我的代码中获取IE凭据?分享


如何在我的代码中获取IE凭据?

我目前正在使用SpicIE开发一个IE插件。

这个插件做了一些网页抓取,类似于MSDN上发布的示例:

WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html"); request.Credentials = CredentialCache.DefaultCredentials; HttpWebResponse response = (HttpWebResponse)request.GetResponse (); Stream dataStream = response.GetResponseStream (); StreamReader reader = new StreamReader (dataStream); string responseFromServer = reader.ReadToEnd (); reader.Close (); dataStream.Close (); response.Close (); 

但是,当我运行此代码时,我收到以下错误消息:

远程服务器返回错误:(407)需要代理身份validation。

我目前正在代理服务器后面工作并使用NetworkCredential类手动提供我的网络凭据

 request.Credentials = new System.Net.NetworkCredential("name", "password", "domain"); 

但我仍然收到同样的错误。

即使我的问题解决了,我知道该插件的一些用户将在代理服务器后面。

我想知道如何获取IE凭据并在我的代码中使用它来将其分配给request.Credentials

也许是这样的:

 request.Credentials = IE.DefaultCredentials; 

您正在设置站点的凭据,但您需要代理的凭据。

设置request.Proxy.Credentials

(另外,使用using语句作为response / stream / reader而不是手动关闭它们,否则在抛出exception时它们会泄漏。)

编辑:例如,要使用代理的默认凭据:

上述就是C#学习教程:如何在我的代码中获取IE凭据?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

 request.Proxy.Credentials = CredentialCache.DefaultCredentials; 

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031720.html

发表评论

邮箱地址不会被公开。 必填项已用*标注