2017-04-06 16 views
0

に私はPOSTリクエストがあります。どのように特殊文字を使用するには、 nはURL

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テキストが失われます。どのようにこの問題を解決する?

+0

私は改行がURL文字列の中に理にかなっているかを確認していますが、パーセントエスケープURL文字列をすることができ、一般的にはありません: ':' ecaped = urlString.addingPercentEncoding(.urlHostAllowed withAllowedCharacters)をしましょう。 – shallowThought

答えて

1
strUrl = strUrl.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)! 

let url = URL.init(string: strUrl) 

let requestURL = URLRequest(url: url!) 
  • あなたはaddingPercentEncoding(withAllowedCharacters:CharacterSet.urlQueryAllowed)を追加する必要があるURLクエリを許可する方法を。
関連する問題