无法连接到远程服务器:无法建立连接,因为目标计算机主动拒绝连接

本文关键字:连接 目标计算机 因为 拒绝 服务器 建立 | 更新日期: 2023-09-27 18:17:12

我正面临这个奇怪的问题。我被要求做一个poc。所以我做了一个快速而粗糙的应用程序(控制台应用程序)。我要点击一个url并解析响应的某些部分。假设url是www.google.co.uk。我在主机应用上的代码运行得很好。之后,我把它移植到我的web应用程序(它运行在asp.net 4.5上,web api控制器方法)。同样的代码现在开始给出错误,只要尝试点击url。代码如下

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(contentDeliveryURL));
request.CookieContainer = cookieContainer;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

错误是:无法连接到远程服务器:由于目标机器主动拒绝it

无法连接

在Web Api控制器上GetResponse()方法失败。现在我知道它与代理有关,因为当我试图访问内部托管的url(在我们的公司网络中)时,代码运行良好。我的问题是,为什么在桌面应用程序我没有提供任何代理信息,但在web我将需要?桌面应用程序如何读取代理信息?此外,我还提升了应用程序池身份,以在web应用程序中使用我的帐户,但它仍然不起作用(如果你给我关于更改用户的建议,应用程序池正在运行)

无法连接到远程服务器:无法建立连接,因为目标计算机主动拒绝连接

应用程序读取绑定到用户配置文件的默认代理设置。(最简单的方式是通过IE进行交互设置。). net应用程序遵循这个设置,许多其他应用程序也遵循相同的设置,如Fiddler、Chrome、FF等。实际上,不遵守该设置的应用程序可以被认为是不兼容的。(例如Java应用程序)

catch是"bind to The user's profile"。因此,在特殊用户帐户下运行的服务不必与您的交互用户具有相同的设置。(或没有设置)

最安全的解决方案是通过代码为你的。net http类设置代理。当然,您可以从配置文件中读取它,而不是硬编码。
相关文章: