swift - 如何在 URL 中使用特殊字符\n

标签 swift url post swift3

我有 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/

相关文章:

swift - 连接 IBOutlet 时 IBAction 停止工作

java - 如何通过 URL 和 HttpURLConnection 类在请求正文中添加对象

PHP 提交时出现成员(member)注册问题

api - 使用 httpotion elixir 发布到 slack api

google-app-engine - SSL 向 Appengine 发送请求

ios - 分组部分 UITableView swift IOS 中的重复值

ios - 无法将类型 'UserFile' 的值转换为预期参数 'User'

swift - 在 Swift 中重命名问题

perl - 如何在 Perl 中从两个组件创建绝对 URL?

javascript - 将重复的 URL 合并为 1 个 URL,Javascript