使用Swift中的params进行简单的HTTPS POST请求

时间:2016-12-13 10:22:25

标签: ios swift

我不能为我的生活找出这个问题。我希望你们能。

我想通过HTTPS POST发送用户名和密码。问题是,我无法使其发挥作用。

我正在尝试制作的代码是:

import UIKit
import Foundation
import PlaygroundSupport

let url:URL = URL(string: "https://mywebsite.com/myAPI")!
let session = URLSession.shared

var request = URLRequest(url: url)
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData

let paramString = "username=Pleasework&password=itwont"
request.httpBody = paramString.data(using: String.Encoding.utf8)

let task = session.dataTask(with: request as URLRequest) {
    (
    data, response, error) in

    guard let data = data, let _:URLResponse = response, error == nil else {
        print("error")
        return
    }

    let dataString =  String(data: data, encoding: String.Encoding.utf8)
    print(dataString ?? "Got nothing")

}

task.resume()

查看我的服务器日志,这个请求会通过,但它应该创建一个包含所述params的文件。我尝试使用名为" Request Maker"的Chrome扩展程序,并创建了该文件。 (该文件是用PHP创建的,与此问题无关)我发现只有在指定了内容类型后才创建该文件,所以我在Swift中尝试过。

我正在使用Swift 3和Xcode 8,我希望你们可以帮我发送一个带有内容类型的简单发布请求到URL,Stackoverflow上的所有其他答案都没有帮助我。

由于

0 个答案:

没有答案