如何正确编码url字符串,以免问号(?)迅速变成%3F?

时间:2019-01-11 04:47:28

标签: swift url

我正在使用Alamofire窗格向服务器发送请求。

var urlComponents = URLComponents(string: "/hotel/v2")!
urlComponents.queryItems = [
     URLQueryItem(name: "page", value: page)
]
let urlString = urlComponents.url?.absoluteString
var urlRequest = URLRequest(url: url.appendingPathComponent(urlString))

当我打印出urlRequest时,问题开始了。显示为: enter image description here

然后请求到达后端,后端返回我一些错误。

2 个答案:

答案 0 :(得分:1)

请勿使用url.appendingPathComponent。您已创建一个URLComponents。正确使用它。

var urlComponents = URLComponents(string: url)!
urlComponents.path = "/hotel/v2"
urlComponents.queryItems = [
     URLQueryItem(name: "page", value: page)
]
var urlRequest = URLRequest(url: urlComponents.url!)

这里我假设url类似于"https://somedomain.com"

答案 1 :(得分:1)

您只需执行此操作-Swift 4和5

let url = URL(string: APIServant.API_DEV_URL + path)!
var urlRequest = URLRequest(url: url)