使用xamarin表单从webrequest检索数据的问题

时间:2018-05-11 13:32:32

标签: rest xamarin xamarin.forms httpclient

我一直在与这个"事物"通过2周的通行证

 public class Post
 {
     public int userId { get; set; }
     public int id { get; set; }
     public string title { get; set; }
     public string body { get; set; }
 }

 public partial class MainPage : ContentPage    
 {
     private const string url = "https://jsonplaceholder.typicode.com/posts";
     private HttpClient _Client = new HttpClient();
     private ObservableCollection<Post> _post;

     public MainPage()      
     {
      InitializeComponent();        
     }

     protected override async void OnAppearing()
     {
         try
         {
             var content = await _Client.GetStringAsync(url);

             var post = JsonConvert.DeserializeObject<List<Post>>(content);
             _post = new ObservableCollection<Post>(post);
             Post_List.ItemsSource = _post;

             await DisplayAlert("content", content, "ok");
            base.OnAppearing();
         }
         catch (Exception ex)
         {
             Debug.WriteLine(ex);
         }
     }
 }

使用此代码,在xamarin表单/窗口中返回everithing 但在android中它不返回任何东西,唯一的错误是 System.Net.Http.HttpRequestException:发送请求时发生错误

请发送一些帮助! 感谢

1 个答案:

答案 0 :(得分:0)

似乎服务器证书存在问题。幸运的是,应用程序可以使用自定义验证程序接受任何证书。

  

应用程序可以设置ServerCertificateValidationCallback   属性到一个方法,用于客户端的自定义验证   服务器证书。

证书验证器实施:

System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate { return true; };

了解更多信息read here