Bri*_*one 6 uri http dart flutter
我在 dart/flutter URI 实现方面遇到问题。\n% 自动替换为 %25。
\n我想访问以下 URL:\n http://some.domain/json.php?key=%DF
[%DF=\xc3\x9f in ASCII/latin1]
代码:
\n final uri = Uri.http('some.domain', 'json.php', {'key': '\xc3\x9f'});\n
Run Code Online (Sandbox Code Playgroud)\n结果\n http://some.domain/json.php?key=%C3%9F
[\xc3\x9f in UTF-8]
当尝试时
\n final uri = Uri.http('some.domain', 'json.php', {'key': '%DF'});\n
Run Code Online (Sandbox Code Playgroud)\n其结果是:\n http://some.domain/json.php?key=%25DF
[% 自动转义为 %25]
当尝试显式编码时:
\n final uri = Uri.http('some.domain', 'json.php',\n {'key': Uri.encodeQueryComponent('\xc3\x9f', encoding: latin1)}); \n
Run Code Online (Sandbox Code Playgroud)\n其结果是:\n http://some.domain/json.php?key=%25DF
[% 自动转义为 %25]
如何禁用 % 到 %25 的自动编码?!
\n有任何想法吗?
\n小智 5
queryParameters
构造函数的参数需要Uri.http
使用它自己的标准进行编码的未编码数据映射,因为在这种情况下您需要使用另一个标准可能更好地使用构造函数Uri
并构建您自己的查询字符串并传递给query
参数。
像这样的事情应该可以解决问题:
\nfinal uri = Uri(\n scheme: \'http\',\n host: \'some.domain\',\n path: \'json.php\',\n query: \'key=${Uri.encodeQueryComponent(\'\xc3\x9f\', encoding: latin1)}\'\n);\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
692 次 |
最近记录: |