我有一个包含线路的路由器
var url = URL(string: MyRouter.baseURLString)!
url.appendPathComponent(relativePath)
Run Code Online (Sandbox Code Playgroud)
这取代了"?" "%3F"被API服务器拒绝.我怎样才能解决这个问题?编码该字符是错误的.
Cod*_*ent 11
因为?它不是路径的一部分.它是一个分隔符,用于指示查询字符串的开头.您可以在本文中阅读有关URL的不同组件的信息.每个组件都有一组有效字符,不在该组中的任何内容都需要进行百分比转义.最好的选择是使用URLComponents自动处理转义:
var urlComponents = URLComponents(string: MyRouter.baseURLString)!
urlComponents.queryItems = [
URLQueryItem(name: "username", value: "jsmith"),
URLQueryItem(name: "password", value: "password")
]
let url = urlComponents.url!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3534 次 |
| 最近记录: |