RestSharp http法规代码和响应法规为0“错误:SecureChannelFailure(验证或解密失败。)”

时间:2017-05-14 17:25:07

标签: c# mongodb rest xamarin

我正在尝试使用其余的api查询我的mlab mongodb数据库中的数据,但我无法让它工作。

要在我的Xamarin应用程序中发出休息请求,我正在使用restSharp,我尝试了很多次,但我总是得到一个空的答案,而不是标题的事件,所以我真的不知道问题来自哪里。

这是我的代码:

 class HttpDataHandler
{
    static String stream = null;
    public String GetHttpData(String collection)
    {
        var uri = "https://api.mlab.com";

        var client = new RestClient(uri);

        var request = new RestRequest("api/1/databases/{db}/collections/{coll}" , Method.GET);
        request.AddParameter("apiKey", Common.API_KEY); // adds to POST or URL querystring based on Method
        request.AddUrlSegment("db", Common.DB_NAME);
        request.AddUrlSegment("coll", collection);

        IRestResponse response = client.Execute(request);

        if (response.StatusCode == System.Net.HttpStatusCode.OK)
            System.Console.WriteLine(response.Content); // raw content as string
        else
            System.Console.WriteLine(response.StatusDescription + " " + response.ResponseUri+" "+ response.StatusCode);

       return stream;
    }
}

1 个答案:

答案 0 :(得分:1)

mLab正在使用TLS1.2。将您的Android项目的SSL / TLS实施从Default更改为Native TLS 1.2+最有可能解决问题。

有关Xamarin Android项目中提供的这两个组合框的详尽说明,请参阅the HttpClient Stack and SSL/TLS documentation