Неверный запрос имени хоста, запрашивающий ASP. Net Core 3.1 от Flutter на Android Emulator - PullRequest
1 голос
/ 28 марта 2020

У меня есть приложение для флаттера (Android Emulator) и API localhost rest. Я пытаюсь подключиться к API из приложения, но имя хоста неверно. Я попытался localhost, 10.0.2.2 и мой IP-адрес в вызове, но он не работал. Кроме того, я использую http вместо https, потому что я прочитал, что иногда Android имеют проблемы с самозаверяющими сертификатами.

Вот код флаттера:

  Future<String> getData() async {
    var response = await http.get(
      Uri.encodeFull('http://10.0.2.2:54010/api/groups/745238'),
      headers: {
        "Accept": "application/json"
      }
    );
    print(response.body);
  }

Тело ответа:

I/flutter ( 4892): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
I/flutter ( 4892): <HTML><HEAD><TITLE>Bad Request</TITLE>
I/flutter ( 4892): <META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
I/flutter ( 4892): <BODY><h2>Bad Request - Invalid Hostname</h2>
I/flutter ( 4892): <hr><p>HTTP Error 400. The request hostname is invalid.</p>
I/flutter ( 4892): </BODY></HTML>

Конечная точка asp. net core 3.1:

[HttpGet("{pin}")]
public ActionResult<Group> GetByPin(string pin)
{
    try
    {
        var group = Service.GetByPin(pin);
        return Ok(group);
    }
    catch
    {
        return BadRequest();
    }
}

Я могу подтвердить, что я получаю данные как в браузере, так и на почтальоне. Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...