在Xamarin.iOS中使用HttpClient发出HTTPS请求

时间:2016-07-20 21:49:13

标签: c# ios wcf xamarin.ios

我正在尝试从一个来自https网址的服务json数据的WCF获取数据。 使用此代码可以很好地指向HTTP URL(注意不是HTTPS)。

save

但对于HTTPS,我得到:

  

System.Net.WebException:错误:SecureChannelFailure(无法读取   来自传输连接的数据:由对等方重置连接。)

另请注意,我可以浏览到https网址并获得正确的响应,因此我非常确定WCF / IIS服务器的行为应该如此。

根据这个帖子:https://forums.xamarin.com/discussion/69778/restsharp-is-not-working-after-updating-xamarin-studio-to-6-0-1-version

可以通过将项目属性下的TLS设置更改为Mono而不是Apple来修复。我这样做了,并没有改变。

另一个网站(现在丢失了网址)表明,将其添加到AppDelegate.cs FinishedLaunching方法以允许所有证书可能有效(尽管不是一个好的解决方案):

HttpContent content = new StringContent("{ var1: test }", Encoding.UTF8, "application/json");

var client = new System.Net.Http.HttpClient();
client.Timeout = new TimeSpan(0, 0, 60);

var response = client.PostAsync(url, content);
var jsonResponse = response.Result.Content.ReadAsStringAsync().Result;
double kiloBytesData = (jsonResponse.Length * sizeof(Char)) / 1024d;

这也不起作用并导致相同的错误。

如果它有任何区别,SSL证书就是从这里https://letsencrypt.org/(很棒的服务顺便说一句)。

关于如何在Xamarin.iOS中从HTTPS绑定的WCF发布和接收json数据的更多建议?

0 个答案:

没有答案