我正在使用C#HttWebRequest调用localhost URL。它正在返回一个503服务不可用错误作为响应。
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri("http://127.0.0.1:42000/some/path"));
req.Method = "POST";
byte[] postArray = Encoding.UTF8.GetBytes("");
req.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
req.ContentLength = postArray.Length;
req.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
response = (HttpWebResponse)req.GetResponse();
在另一台计算机上,它运行良好,在web浏览器上,localhost URL也正在打开。Localhost使用某个端口上的隧道连接到AWS EC2实例。此问题的原因是什么?
我找到了原因。问题是由于HttpWebRequest
正在自动提取系统代理。所以在发出请求之前,我在代码req.Proxy = null;
中的HttpWebRequest
对象中设置了Proxy null。问题在此之后得到了解决。