有没有一种方法可以逃离冒号并在参数中加正斜杠?
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/