Swift_网络请求

swift网络请求,不是第三方库,直接用代码写的,直接代码:

class fun requestDataOfGet(url: String, parameters: String?, _ callback( __ @escaping  result: ant) -> ()){
    let urlstr = "http://***********"//链接
    let url =  URL.init(string: urlstr) //需要把String的URL转换成UR
    var request = URLRequset.init(url: url!)
    request.httpMethod = "GET"  
    request.httpBody = ""  //请求数据一些其他的数据,需要吧parameters转换成Data
    let session = URLSession.shared  
    let dataTesk = session.dataTask(with: request) { (data, response, error) -> Void in
    if error != nil{
       print(error) 
     }else{
     //base64 解密   对于没有加密的数据可以直接跳过
      let dataStr = String.init(data: data!, encoding: String.Encoding(eawValue: String.Encoding.utf8.rawValue))
      let decodedData = Data.init(base64Encoded: str!, options: Data.Base64DecodingOptions.init(rawValue: 0))
      //json解析
      let json =  try? JSONSerialization.jsonObject(with: decodedData !, options: [])
      if (json != nil) {
         print(json)
      }else{
         print("解析失败")
      }
    }

    //执行方法
    dataTesk.resume()
 }

    //调用,parameters为空,若要添加,需要传入String,
    ClassName.requestDataOfGet(url: url, parameters: nil){ (response) in
        print(response)
        //Any转换成Dictionary
        guard let dataDic = response as? [String: Any] else{ return}
    }

end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容