Swift 如何在URL中使用特殊字符\n
我有一个发帖请求:Swift 如何在URL中使用特殊字符\n,swift,url,post,swift3,Swift,Url,Post,Swift3,我有一个发帖请求: 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 =
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.UrlQueryLowed)方法以允许URL查询
- 您需要添加addingPercentEncoding(withAllowedCharacters:CharacterSet.UrlQueryLowed)方法以允许URL查询
let ecaped=urlString.addingPercentEncoding(withAllowedCharacters:.urlHostAllowed)
。我看不到换行符在URL字符串中有何意义,但一般来说,您可以对url字符串进行百分比转义:let ecaped=urlString.addingPercentEncoding(使用AllowedCharacters:.urlHostAllowed)
。