iOS Swift5.0使用URLSession get和post網(wǎng)絡(luò)請求

get請求:

// 創(chuàng)建一個(gè)會話,這個(gè)會話可以復(fù)用
let session = URLSession(configuration: .default)
// 設(shè)置URL
let url = "http://127.0.0.1/api/"
var UrlRequest = URLRequest(url: URL(string: url)!)
// 創(chuàng)建一個(gè)網(wǎng)絡(luò)任務(wù)
let task = session.dataTask(with: UrlRequest) {(data, response, error) in
    do {
        // 返回的是一個(gè)json,將返回的json轉(zhuǎn)成字典r
        let r = try JSONSerialization.jsonObject(with: data!, options: []) as! NSDictionary
        print(r)
    } catch {
        // 如果連接失敗就...
        print("無法連接到服務(wù)器")
        return
    }
}
// 運(yùn)行此任務(wù)
task.resume()

post請求:

// 這個(gè)session可以使用剛才創(chuàng)建的。
let session = URLSession(configuration: .default)
// 設(shè)置URL
let url = "http://127.0.0.1/api/"
var request = URLRequest(url: URL(string: url)!)
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
// 設(shè)置要post的內(nèi)容,字典格式
let postData = ["email":"user@xxx.com","password":"123456"]
let postString = postData.compactMap({ (key, value) -> String in
    return "\(key)=\(value)"
}).joined(separator: "&")
request.httpBody = postString.data(using: .utf8)
// 后面不解釋了,和GET的注釋一樣
let task = session.dataTask(with: request) {(data, response, error) in
    do {
        let r = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary
        print(r)
    } catch {
        print("無法連接到服務(wù)器")
        return
    }
}
task.resume()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容