我正在C#/.NET中创建一个小型web api,在某些情况下,它必须从外部api请求一些数据。当我在本地测试时,在我的机器上,它工作得很好。
但是当它部署在远程网络主机上时(我使用的是Ionos/1&1 web Windows主机解决方案(,为了测试我的应用程序,我从我自己的API得到了这个错误消息:
连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应{ip}而建立的连接失败
以下是调用API并获得响应的代码
Uri myUri = new Uri("url", UriKind.Absolute);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myUri);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
return JsonConvert.DeserializeObject<ModelOfResult>(result);
}
}
这是代理问题吗?代码问题?托管问题?
抱歉我英语不好,提前谢谢
这似乎是代理问题。请尝试在web.config中添加此代码:
<system.net>
<defaultProxy enabled="false" >
</defaultProxy>
</system.net>
多亏了Ionos的支持,我设法获得了一个代理,通过添加以下代码使其工作
request.Proxy = new WebProxy({proxy}, {proxy_port});
如果您有任何问题,请尝试枪手的解决方案,或要求您的提供商给您代理
仍然很遗憾我不得不要求它,但嘿,它现在正在工作