【发布时间】:2016-11-09 15:37:03
【问题描述】:
我正面临这个奇怪的问题。我被要求做一个 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();
错误是:无法连接到远程服务器:无法建立连接,因为目标机器主动拒绝了我t
它在 Web Api 控制器上的 GetResponse() 方法上失败。现在我知道它与代理有关,因为当我尝试访问内部托管的 url(在我们的公司网络中)时,代码运行良好。我的问题是为什么在桌面应用程序中我不必提供任何代理信息但在网络中我需要提供?桌面应用程序如何读取代理信息?我还提升了应用程序池身份以在 Web 应用程序中使用我的帐户,但它仍然无法正常工作(如果您给我有关更改运行应用程序池的用户的建议)
【问题讨论】:
标签: c# asp.net-web-api httpwebrequest