flutter - Flutter/Dart Uri无法在参数中转义冒号或斜线 “https://”

标签 flutter dart https uri

有没有一种方法可以逃离冒号并在参数中加正斜杠?

Uri.https('example.com', '/api', {
          'response_type': 'code',
          'client_id': 'id',
          'redirect_uri': 'https://www.google.com',
        })

上面变成了这个:https%3A%2F%2Fwww.google.com
编码无效
final redirect = Uri.encodeFull('https://www.google.com');
final uri = Uri.https('example.com', '/api', {'redirect_uri': redirect});

print(redirect); // https://www.google.com
print(uri.query); // redirect_uri=https%3A%2F%2Fwww.google.com

最佳答案

您提供给该功能的所有内容都经过urlencode编码,因为HTTP。
在您的方案中使用它之前,您似乎需要对其进行urldecode。这应该对https://stackoverflow.com/a/17407240/679553有帮助

这是解码URLEncoded字符串的方法

print(Uri.decodeFull(uri.query));

关于flutter - Flutter/Dart Uri无法在参数中转义冒号或斜线 “https://”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60390911/

相关文章:

proxy - 企业防火墙后面的 Flutter 应用程序在获取包期间引发 TLS 错误

dart - 使用多个订阅者创建流

node.js - 如何将 header 添加到 node-http-proxy 响应

apache - NGINX -> Varnish 负载平衡器 -> Apache SSL 连接 = 错误请求

dart - Future/Completer 只能调用一次?

java - 将 Tomcat 配置为使用 cacerts 以外的信任库

flutter - 如何对齐卡片小部件 flutter 中的图标按钮?

firebase - Flutter Firestore 缓存

javascript - flutter 导航使上一个屏幕在底部可见

android - Flutter 应用生命周期回调函数