Я пытаюсь сделать сообщение для отдыха api с использованием HttpClient PCL в Xamarin. У меня есть следующий код, но я получаю 404. Заметим, что у меня нет реального ip-адреса здесь, но когда я использую Hurl.It с реальным, который он подключает просто отлично, но вот только 404. Что я отсутствует?Использование HttpClient в Xamarin PCL для публикации
string url = "http://myaddresshere/services/rest/auth/login";
string result = String.Empty;
using (var client = new HttpClient()) {
var content = new FormUrlEncodedContent(new[] {
new KeyValuePair<string, string>(txtUsername.Text, "username"),
new KeyValuePair<string, string>(txtPassword.Text, "password")
});
using (var response = await client.PostAsync(url, content)) {
using (var responseContent = response.Content) {
result = await responseContent.ReadAsStringAsync();
}
}
}
У вас есть перенаправление портов на маршрутизаторе? У вас есть брандмауэр (в маршрутизаторе или ПК), блокирующий вас? – Milen
Вызов API из обычного проекта visual studio работает, поэтому я бы не подумал, что это будет проблемой? Должен ли этот код работать? Как это работает для вас в проекте Xamarin PCL? – user441521
Вы говорите, что из проекта, отличного от PCL (> = .NET 4.5), * точный * код выше работает отлично, но это не из PCL? Быстрый способ быть уверенным в том, что вы создадите консольное приложение, которое ссылается на PCL, содержащий вышеуказанный код * и *, вставьте тот же код непосредственно в консольное приложение и вызовет приложение обоих. Это приведет к тому, что Xamarin выйдет из уравнения и должен помочь определить, действительно ли проблема с версией PCL для HttpClient. –