我在1and1上有一个共享服务器。在我的MVC站点中,当我尝试连接到外部的另一台服务器时,我收到此错误:
发送请求时发生错误。无法连接到 远程服务器连接尝试因连接方而失败 一段时间后没有正确回应,或确立 连接失败,因为连接的主机无法响应 23.xxx.xxx.xxx:80
当我在我的开发机器上本地运行它时工作正常,但是当我通过FTP将它上传到服务器时,它会显示错误。
这是我的代码:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://OutsideServer.com", UriKind.Absolute);
var url = "GetData";
var stringContent = string.Format("\"id\":12");
StringContent content = new StringContent(stringContent);
var result = await client.PostAsync(url, content);
var jsondata = await result.Content.ReadAsStringAsync();
在another question中的我找到了这个答案:
<configuration>
<system.net>
<defaultProxy>
<proxy
usesystemdefault = "false"
proxyaddress="http://proxyserver"
bypassonlocal="true"
/>
</defaultProxy>
</system.net>
</configuration>
但我不知道代理地址应该是什么。
答案 0 :(得分:1)
5年后,我尝试将它与asp.net core 3.1 mvc应用程序一起使用时遇到了相同的问题。我在他们的网站https://www.ionos.co.uk/help/hosting/net/script-examples-for-establishing-external-http-connections-windows/
中使用了以下代理设置<proxy proxyaddress="http://winproxy.server.lan:3128"
bypassonlocal="true"
/>
httpclient现在看起来像这样并且可以工作。希望它可以帮助某人。
services.AddHttpClient<MyNamedClient>()
.ConfigureHttpClient((provider, httpClient) =>
{
})
.ConfigurePrimaryHttpMessageHandler((handler) => new HttpClientHandler {
UseDefaultCredentials=true,
Proxy = new WebProxy("http://winproxy.server.lan:3128",true)
});
答案 1 :(得分:0)
这是1&amp; 1问题 - 他们不允许您连接到网络外的服务器:(在调用PayPal API时遇到同样的问题。如果您支持他们并解释他们可能会对此感到遗憾你,但他们没有在我身上!
更新 - 从我最后一次使用Paypal时发现这个 - 这个人说你可以用1&amp; 1创建一个代理 - 我自己没有使用过这个方法:http://tofuculture.com/blog/post/Tips-Tricks-of-Using-11-Shared-Hosting-Environment.aspx