0
這是服務器(使用codeigniter)接受的可接受的POST請求。Swift3:參數除以「/」的HTTP POST請求
正如所示,它不需要鍵,而只需要值。
第一個值以「/」開始,「/」在值之間使用。
http://example.com/index.php/api/signup/value01/value02/value03
我有這段代碼,寫在Swift3中。
let serverUrl = "http://example.com/index.php/api/signup"
let parameterString = "/value01/value02/value03"
let url: URL = URL(string: serverUrl)!
let session = URLSession.shared
let request = NSMutableURLRequest(url: url)
request.httpMethod = "POST"
request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData
request.httpBody = parameterString.data(using: String.Encoding.utf8)
let task = session.dataTask(with: request as URLRequest, completionHandler: {(data, response, error) in
}) task.resume()
它得到一個錯誤,服務器響應它沒有收到任何參數。
但是,如果我將下面的代碼複製粘貼到瀏覽器,它的工作原理是完美的。
http://example.com/index.php/api/signup/value01/value02/value03
swift3代碼適用於另一臺服務器,它接受以這種方式寫入的POST請求。
http://example.com/api?key=value&key=value
然後只是讓所有的參數結合成爲它的網址,成爲你的一個?這不似乎正常的帖子主體,所以可能它不會做任何事 – Tj3n
你應該使用URLRequest聲明它作爲變量,而不是使用NSMutableRequest –
你應該''parameterString'附加到'serverUrl'而不是將其設置爲HTTP正文。當你將它設置爲HTTP正文時,甚至API也必須被編程爲從正文讀取,而不是在這種情況下。它在URL中查找數據不在主體中。 – GoodSp33d