首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >远程服务器返回错误:(407)需要代理身份验证

远程服务器返回错误:(407)需要代理身份验证
EN

Stack Overflow用户
提问于 2010-04-06 06:40:38
回答 7查看 194.4K关注 0票数 75

当我调用一个web服务时,我得到了这个错误:

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

我得到了大概的想法,我可以通过添加

myProxy.Credentials = NetworkCredential("user", "password", "domain");

或者在代码中使用DefaultCredentials。我的问题是,在没有这个的情况下,对web服务的调用在生产中是有效的。

似乎有一个涉及Machine.config的非代码解决方案,但它是什么呢?目前,我无法访问生产箱的machine.config文件来查看它是什么样子。我尝试按如下方式更新我的machine.config,但仍然收到407错误。

<system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
        <bypasslist>
            <clear />
        </bypasslist>
        <proxy proxyaddress="myproxy:9000"
               usesystemdefault="false"
               bypassonlocal="true"
               autoDetect="False" />
    </defaultProxy>
</system.net>
EN

回答 7

Stack Overflow用户

发布于 2012-09-28 14:31:08

只需将此添加到配置即可

<system.net>
    <defaultProxy useDefaultCredentials="true" >
    </defaultProxy>
</system.net>
票数 141
EN

Stack Overflow用户

发布于 2012-08-20 18:13:14

在下面的代码中,我们不需要对凭证进行硬编码。

service.Proxy = WebRequest.DefaultWebProxy;
service.Credentials = System.Net.CredentialCache.DefaultCredentials; ;
service.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
票数 54
EN

Stack Overflow用户

发布于 2010-09-14 14:59:33

请咨询您的防火墙专家。它们打开PROD服务器的防火墙,因此不需要使用代理。

感谢你的建议帮助我解决了我的问题:

必须在两个位置设置凭据才能通过407错误:

HttpWebRequest webRequest = WebRequest.Create(uirTradeStream) as HttpWebRequest;
webRequest.Proxy = WebRequest.DefaultWebProxy;
webRequest.Credentials = new NetworkCredential("user", "password", "domain");
webRequest.Proxy.Credentials = new NetworkCredential("user", "password", "domain");

瞧!

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2581609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档