swift3.0 原生GET请求 POST同理

swift3.0 原生GET请求  POST同理  

func getrequest(){

        let url = URL(string: "http://117.135.196.139:")

        var request = URLRequest(url: url!)

        

        let list  = NSMutableArray()

        var paramDic = [String: String]()

        

        if paramDic.count > 0 {

            //设置为POST请求

            request.httpMethod = "GET"

            //拆分字典,subDic是其中一项,将key与value变成字符串

            for subDic in paramDic {

                let tmpStr = "(subDic.0)=(subDic.1)"

                list.add(tmpStr)

            }

            //用&拼接变成字符串的字典各项

            let paramStr = list.componentsJoined(by: "&")

            //UTF8转码,防止汉字符号引起的非法网址

            let paraData = paramStr.data(using: String.Encoding.utf8)

            //设置请求体

            request.httpBody = paraData

        }

        

        let configuration:URLSessionConfiguration = URLSessionConfiguration.default

        let session:URLSession = URLSession(configuration: configuration)

        

        let task:URLSessionDataTask = session.dataTask(with: request) { (data, response, error)->Void in

            

            if error == nil{

                do{

                    let responseData:NSDictionary = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments) as! NSDictionary

                    print("response:(response)")

                    print("responseData:(responseData)")

                    

                }catch{

                    print("catch")

                }

            }else{

                print("error:(error)")

            }

        }

        // 启动任务

        task.resume()

    }

群号:186052819
原文地址:https://www.cnblogs.com/zuidap/p/5864982.html