请求失败,HTTP状态为407:authenticationrequired

本文关键字:authenticationrequired 状态 失败 HTTP 请求 | 更新日期: 2023-09-27 18:15:27

好了。事情是这样的-->

我已经在我的控制台应用程序中使用了一个web服务,并且能够在从本地机器运行时成功调用相同的服务。

当我在我的Win 2K8盒子上部署应用程序时,麻烦来了。我首先发现-> 远程名称无法解析:'www.www.net' ->,所以我添加了一个WebProxy并将其连接到web-service的。proxy属性。

我遇到的下一个错误是-> HTTP状态407:authenticationrequired请求失败。我也不知道如何解决这个问题。

我已经使用了-> . proxy。System.Net.CredentialCache.DefaultCredentials;并且还明确定义了代理信誉->用户名,密码,域名->但无济于事

当从服务器内部通过浏览器访问web-service时可以正常工作。

任何帮助都将是非常感激的。

感谢您的宝贵时间。

Rgds,

请求失败,HTTP状态为407:authenticationrequired

Ok…下面是它最终工作的原因——>

与NOC(网络)人员取得联系,他们反过来打开了一个显式的基于ip的访问服务器的请求/响应。

这会导致安全漏洞吗?嗯,我不确定。

Rgds,

你在代理服务器后面吗?您的浏览器是否配置了代理服务器?407表示"需要代理身份验证",因此您需要提供凭据,以便在代理服务器上进行身份验证。我的第一个猜测是你需要这样的东西。

  var credentials = new NetworkCredential("username", "password", "domain");
  WebProxy proxy = new WebProxy("YourProxyServerUri", true) { Credentials = credentials };

然后你应该使用代理对象作为你的web服务的代理服务器。

您也可以使用系统配置的代理服务器:

  WebProxy myProxy = (WebProxy) System.Net.HttpWebRequest.GetSystemWebProxy();

或者你甚至可以在web中设置它。配置(但我认为不可能在这里提供凭据:

 <system.net> 
      <defaultProxy useDefaultCredentials="true"> 
         <proxy usesystemdefault="False" proxyaddress="YourProxyServerUri"                
          bypassonlocal="True" /> 
      </defaultProxy> 
 </system.net>

如果一切正常,您可能希望提供一些方法在运行时从代码外部配置代理服务器和凭据。否则,如果您的生产环境或位置发生了变化,您总是需要重新编译。你可以把它放在web的appSettings部分。配置,在数据库中,app.config等。

还要确保在设置中提供正确的端口号(例如192.168.1.100:8888)

相关文章:
  • 没有找到相关文章