• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift4.0Http请求

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
//
//  HttpHelper.swift
//  NavigateDemo
//
//  Created by yixin ran on 07/08/2017.
//  Copyright © 2017 yixin ran. All rights reserved.
//
import UIKit

public class HttpHelper{
    //单例
    public static var Shared=HttpHelper();
    // MARK:- get请求
    func Get(path: String,success: @escaping ((_ result: String) -> ()),failure: @escaping ((_ error: Error) -> ())) {
        
        let url = URL(string: path.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)
        
        let session = URLSession.shared
        
        let dataTask = session.dataTask(with: url!) { (data, respond, error) in
            
            if let data = data {
                
                if let result = String(data:data,encoding:.utf8){
                    
                    success(result)
                }
            }else {
                
                failure(error!)
            }
        }
        dataTask.resume()
    }
    
    
    // MARK:- post请求
    func Post(path: String,paras: String,success: @escaping ((_ result: String) -> ()),failure: @escaping ((_ error: Error) -> ())) {
        
        let url = URL(string: path)
        var request = URLRequest.init(url: url!)
        request.httpMethod = "POST"
        
        request.httpBody = paras.data(using: .utf8)
        
        let session = URLSession.shared
        let dataTask = session.dataTask(with: request) { (data, respond, error) in
            
            if let data = data {
                
                if let result = String(data:data,encoding:.utf8){
                    success(result)
                }
                
            }else {
                failure(error!)
            }
        }
        dataTask.resume()
    }
}
class JsonHelper {
    static let Shared=JsonHelper();
    private let decoder=JSONDecoder();
    private let encoder=JSONEncoder();
    func ToJson<T:Codable>(_ obj:T) -> String {
        let data=try! self.encoder.encode(obj)
        let str=String(data:data,encoding:.utf8)!
        return str
    }
    func ToObject<T:Codable>(_ data:String) -> T{
        let obj=try! self.decoder.decode(T.self, from: data.data(using: .utf8)!)
        return obj;
    }
    func GetData(_ str:String) -> Data {
        return str.data(using: .utf8)!
    }
    func GetJson(_ data:Data) -> String {
        return String(data:data,encoding:.utf8)!
    }
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap