Флаттер / Дарт Ури не экранируют двоеточие ":" в URL - PullRequest
0 голосов
/ 17 декабря 2018

Создан следующий uri:

final _url = "https://example.com/api/";
final _uri = Uri(path: _url, queryParameters: _params);

Результат http%3A//example.com/api/+{params...}

Я пытался сбежать с помощью \: и другими методами, но безуспешно: /

Эта проблема возникает только при запуске через Uri, мне не удалось найти какие-либо ресурсы в Интернете для решения этой проблемы.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Таким образом, лучший способ создать URI в Dart из строки URL-адреса - использовать пакет dart Uri со статическими методами http или https

Таким образом, вы должны изменить свой код следующим образом:

final _authority = "example.com";
final _path = "/api";
final _params = { "q" : "dart" };
final _uri =  Uri.https(_authority, _path, _params);

enter image description here

0 голосов
/ 17 декабря 2018

Заменить:

final _url = "https://example.com/api/";
final _uri = Uri(path: _url, queryParameters: _params);

на:

final _url = "example.com/api/";
final _uri = Uri.https(path: _url, queryParameters: _params);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...