Xamarin формирует Http веб-запрос - PullRequest
0 голосов
/ 13 марта 2019

Я работаю над проектом Xamarin.Forms, и в проекте мне нужно получить данные с URL-адреса Json, я использую этот код:

 string URL = "https://example.com/.json";
   var httprequest = (HttpWebRequest)WebRequest.Create(URL);
   var response = (HttpWebResponse)httprequest.GetResponse();
   var stream = new StreamReader(response.GetResponseStream()).ReadToEnd();
   var firebasevariable = JObject.Parse(stream);
   string dist = firebasevariable["distance"].ToObject<string>();

, но значение "dist" сохраняетвозвращая NULL!Я импортировал библиотеки System.Net.Http и Newtonsoft.Json. Я также получаю это предупреждение, но я не знаю, почему это потому, что я получаю NULL, я попробовал мою ссылку, используя почтальон, и он отлично возвращает данные

Возник конфликт между "mscorlib, Версия = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089" и "mscorlib, Версия = 2.0.5.0, Культура = нейтральный, PublicKeyToken = 7cec85d7bea7798e"

1 Ответ

0 голосов
/ 14 марта 2019

Я тоже использую Firebase, и это работает:

async Task<string> Get(string url)
{
    using(var requestMessage = new HttpRequestMessage(HttpMethod.Get, url))
    {
        // Client is a static HttpClient property. 
        // It's recommended to use a single instance in all your requests, but create it in this method if you want.
        var response = await Client.SendAsync(requestMessage);

        var contentString = await response.Content.ReadAsStringAsync();

        if (response.IsSuccessStatusCode)
            return contentString;
        else
            throw new Exception(contentString);
    }
}

Этот метод, конечно, вернет строку JSON.Получив его, вы можете десериализовать его как угодно.

Если выдается исключение, это, вероятно, означает проблемы с аутентификацией (просто прочитайте, что говорит contentString).Если он верен правильно, но значение равно нулю, то, вероятно, вы используете другой URL из ваших тестов Postman и значение пути в базе данных действительно равно нулю.

Надеюсь, это поможет!

...