我有 POST 请求:
init (url: String,arg: String) {
self.responseString = nil
var request = URLRequest(url: URL(string: url)!)
request.httpMethod = "POST"
let postString = arg
request.httpBody = postString.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) {
data, response, error in
guard let data = data, error == nil else {
print("error=\(error)")
self.responseString = nil
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { //
self.responseString = nil
} else {
self.responseString = String(data: data, encoding: .utf8)
}
}
task.resume()
}
当 arg 有一个字符\n 时,一半的 arg 文本会丢失。如何解决这个问题?
最佳答案
strUrl = strUrl.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!
let url = URL.init(string: strUrl)
let requestURL = URLRequest(url: url!)
- 您需要添加 addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed) 方法以允许 URL 查询。
关于swift - 如何在 URL 中使用特殊字符\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43250329/