有没有一个函数做的网址编码 dart ?我正在做一个 AJAX 调用使用XMLHttpRequest对象,我需要的网址是网址编码。我在www.example.com上搜索了dartlang.org,但没有找到任何结果。
5ktev3wc1#
var uri = 'http://example.org/api?foo=some message'; var encoded = Uri.encodeFull(uri); assert(encoded == 'http://example.org/api?foo=some%20message'); var decoded = Uri.decodeFull(encoded); assert(uri == decoded);
http://www.dartlang.org/docs/dart-up-and-running/contents/ch03.html#ch03-uri
trnvg8h32#
更新:the Dart Uri class中现在支持编码/解码URI
Dart的URI代码被放在一个名为dart:uri的单独库中(因此它可以在dart:html和dart:io之间共享),看起来它目前不包含urlencode函数,因此目前最好的替代方案可能是使用JavaScript的encodeUriComponent的this Dart实现。
dart:html
dart:io
urlencode
encodeUriComponent
hmmo2u0o3#
我编写了这个小函数来将Map转换为URL编码字符串,这可能就是您要查找的内容。
String encodeMap(Map data) { return data.keys.map((key) => "${Uri.encodeComponent(key)}=${Uri.encodeComponent(data[key])}").join("&"); }
hujrc8aj4#
Uri.encodeComponent(url); // To encode url Uri.decodeComponent(encodedUrl); // To decode url
i1icjdpr5#
我认为还没有。请查看http://unpythonic.blogspot.com/2011/11/oauth20-and-jsonp-with-dartin-web.html和encodeComponent方法。注意,它也缺少一些字符,它需要扩展。 dart 真的应该有这样的内置和容易得到。它可能有它的事实,但我没有找到它。
rvpgvaaj6#
flutter中的安全URL编码例如,
String url = 'http://example.org/'; String postDataKey = "requestParam=" String postData = 'hdfhghdf+fdfbjdfjjndf'
如果是get请求:
Uri.encodeComponent(url+postDataKey+postData);
在发布数据请求的情况下,使用**flutter_inappwebview**库
var data = postDataKey + Uri.encodeComponent(postData); webViewController.postUrl(url: Uri.parse(url), postData: utf8.encode(data));
pkln4tw67#
Uri.encodeComponent()是正确的,Uri.encodeFull()有一个错误,请参见以下示例:
Uri.encodeComponent()
Uri.encodeFull()
void main() { print('$text\n'); var coded = Uri.encodeFull(text); print(coded); print('\n'); coded = Uri.encodeComponent(text); print(coded); } var text = '#2020-02-29T142022Z_1523651918_RC2EAF9OOHDB_RT.jpg';
7条答案
按热度按时间5ktev3wc1#
http://www.dartlang.org/docs/dart-up-and-running/contents/ch03.html#ch03-uri
trnvg8h32#
更新:the Dart Uri class中现在支持编码/解码URI
Dart的URI代码被放在一个名为dart:uri的单独库中(因此它可以在
dart:html
和dart:io
之间共享),看起来它目前不包含urlencode
函数,因此目前最好的替代方案可能是使用JavaScript的encodeUriComponent
的this Dart实现。hmmo2u0o3#
我编写了这个小函数来将Map转换为URL编码字符串,这可能就是您要查找的内容。
hujrc8aj4#
i1icjdpr5#
我认为还没有。请查看http://unpythonic.blogspot.com/2011/11/oauth20-and-jsonp-with-dartin-web.html和encodeComponent方法。
注意,它也缺少一些字符,它需要扩展。 dart 真的应该有这样的内置和容易得到。它可能有它的事实,但我没有找到它。
rvpgvaaj6#
flutter中的安全URL编码
例如,
如果是get请求:
在发布数据请求的情况下,使用**flutter_inappwebview**库
pkln4tw67#
Uri.encodeComponent()
是正确的,Uri.encodeFull()
有一个错误,请参见以下示例: