Swift HTTP 庫:STNetWork
STNetwork是一個采用Swif開發的網絡庫。
Requirements
- iOS 7.0+
- Xcode 6.3
STNetworkResponse
Response with handler
- getAllResponseHeader 獲取所有的頭信息(get all response header)
- getResponseHeader 根據key返回一個header值 (return header value -single)
- getStatusCode 返回響應的狀態碼 (return status code )
- getAllStorageCookie 獲取全局所有的cookie包括共享的cookie (get all storage cookies NSHTTPCookie)
- getAllResponseCookie 獲取當前response的cookie(return header Set-Cookie)
- getResponseCookie 根據key返回一個cookie值 (return cookie value -single)
STNetworkRequest
- setRequestHeader 設置header信息( set your request headers)
- setRequestCookie 設置cookie (set cookie header Set-Cookie)
- setRequestTimeout 設置超時時間 (set request time out)
- static buildParams 拼接URL字符串
- static queryComponents 查詢字符串
- static escape 轉義
- property STParams 不是文件數據的請用它的set方法
- property STFileParams 文件數據請用它的set方法
Usage
- request
- upload
- download
- taskupload
使用例子
//普通的GET 請求 @IBAction func sendGetHttp(sender: UIButton) { var url:String = "http://lcepy.github.io"; STNetwork.request(HTTPMETHOD.GET.rawValue, url: url, success: { (dataString, data, response) -> Void in println(dataString) }) { (error) -> Void in println(error) } } //帶參數的GET 請求 @IBAction func sendGetParamsHttp(sender: UIButton) { var url:String = "http://apis.baidu.com/apistore/aqiservice/aqi" var citys:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>() citys["city"] = "北京" var header:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>() header["apikey"] = "bce358f5243e78bad9ebd6da21f742d1" STNetwork.request(HTTPMETHOD.GET.rawValue, url: url, params: citys, header: header, success: { (dataString, data, response) -> Void in println(dataString) }) { (error) -> Void in println(error) } } //POST請求 帶參數 @IBAction func sendPostParamsHttp(sender: UIButton) { var url = "http://apis.baidu.com/apistore/idlocr/ocr" var httpArg = "fromdevice=pc&clientip=10.10.10.0&detecttype=LocateRecognize&languagetype=CHN_ENG&imagetype=1&image=/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDABMNDxEPDBMREBEWFRMXHTAfHRsbHTsqLSMwRj5KSUU+RENNV29eTVJpU0NEYYRiaXN3fX59S12Jkoh5kW96fXj/2wBDARUWFh0ZHTkfHzl4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHj/wAARCAAfACEDAREAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAQDBQb/xAAjEAACAgICAgEFAAAAAAAAAAABAgADBBESIRMxBSIyQXGB/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/APawEBAQEBAgy8i8ZTVV3UY6V1eU2XoWDDZB19S646Gz39w9fkKsW1r8Wm2yo1PYis1be0JG9H9QNYCAgc35Cl3yuVuJZl0cB41rZQa32dt2y6OuOiOxo61vsLcVblxaVyXD3hFFjL6La7I/sDWAgICAgICB/9k=" var header:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>() header["Content-Type"] = "application/x-www-form-urlencoded" header["apikey"] = "bce358f5243e78bad9ebd6da21f742d1" STNetwork.request(HTTPMETHOD.POST.rawValue, url: url, params: ["urlencoded":httpArg], header: header, success: { (dataString, data, response) -> Void in println(dataString) }) { (error) -> Void in println(error) } } //普通POST請求 @IBAction func sendPOSTHttp(sender: UIButton) { var url = "http://apis.baidu.com/apistore/idlocr/ocr" var header:Dictionary<String,AnyObject> = Dictionary<String,AnyObject>() header["Content-Type"] = "application/x-www-form-urlencoded" header["apikey"] = "bce358f5243e78bad9ebd6da21f742d1" STNetwork.request(HTTPMETHOD.POST.rawValue, url: url, success: { (dataString, data, response) -> Void in println(dataString) }) { (error) -> Void in println(error) } } //上傳文件 @IBAction func sendUPLOADFILEHttp(sender: UIButton) { let url:String = "http://pitayaswift.sinaapp.com/pitaya.php" //模擬表單提交 let fileType:STFType = STFType(name: "mage-gnome01-large", type: "jpg") STNetwork.upload(url, type: fileType, success: { (data, response) -> Void in println(NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: nil)) }) { (error) -> Void in println(error) } } //下載文件 @IBAction func sendDownloadFile(sender: UIButton) { var url:String = "http://content.battlenet.com.cn/wow/media/screenshots/screenshot-of-the-day/warlords-of-draenor/warlords-of-draenor-ss0420-large.jpg" STNetwork.download(url, success: { (url, response) -> Void in }) { (error) -> Void in } }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!