ios - URL 错误字符集?

标签 ios swift url web-applications

<分区>

我尝试使用以下代码调用自定义 url:

let myurl = "https://myserver.com/call?a|b|c"
let converted = URL(string: myurl)
print(converted)

但我在 converted 中得到的结果只是 "nil"


我很确定这是因为与 URL() 类相关的错误字符集

经过一些研究,到目前为止我得到的是这个过时的 Swift 代码:

var myurl = "https://myserver.com/call?a|b|c"
var newurl = myurl.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())
print(newurl)

但它似乎并不是这样工作的。

如何使用(在我的情况下)Swift 4 来避免“nil”结果?

最佳答案

我自己找到了解决方案:

let myurl = "https://myserver.com/call?a|b|c"
let converted = URL(string: myurl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)

print(converted!)


新函数称为 addingPercentEncoding,我必须使用 urlQueryAllowed 属性来调用它。

urlQueryAllowed 字符集在 url 编码中添加了一些这样的字符:"!*'();:@&=+$,/?%#[]|"

哇!

关于ios - URL 错误字符集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48793545/

相关文章:

iphone - 使滚动条在 UIScrollView 上始终可见?

iphone - 对 UIImageView 进行旋转后,我应该如何检查触摸点是否在 UIImageView 区域内?

ios - 如何在没有 Mac Developer 程序成员(member)资格的情况下使用 NSLogger Desktop Client

java - 在 Java 中解码 Base64 百分比编码的图像字符串

iOS - 没有重定向的 AppAuth

ios - 使用加速度计和陀螺仪时的系统性能和电池使用

ios - 如何在Swift中从JSON对象删除属性(key:values)

php - 获取 PHP 中的 URL 参数

php - 正则表达式查找所有 URL 和标题

node.js - app.get 有效,app.use 无效