SwiftHttp請求:HttpSwift2.0

jopen 9年前發布 | 67K 次閱讀 Apple Swift開發 HttpSwift2.0

Swift2.0封裝http請求

由于現在Swift2.0是beta版本,一些github上網絡請求的框架不能使用,自己封裝了一下!!

有問題可以發送郵件iosdev@itjh.com.cn, QQ群:383126909 IT江湖

感謝@johnlui 提供的Swift-On-iOS,Alamofire框架的函數

解決Swift2.0 請求http api不成功方案

在Info.plist文件中添加如下代碼

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitrayLoads</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
            <key>www.weather.com.cn</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSTemporaryExceptionMinimumTLSVersion</key>
                <string>TLSv1.1</string>
            </dict>
        </dict>
    </dict>

考地址:https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/index.html

開發環境

  • iOS 9.0 / Mac OS X 10.11
  • Xcode7 bete4
  • Swift2.0 beta
import HttpSwift

使用

GET

HttpSwift.request("get", url: url) { (data, response, error) -> Void in
   //使用guard判斷
   guard error != nil else{
     print(data)
     return
    }
 }

打印結果

  返回結果
 {
    "weatherinfo":
    {"city":"太倉","cityid":"101190408","temp":"13","WD":"西北風","WS":"3級","SD":"93%","WSE":"3","time":"10:20","isR        adar":"0","Radar":"","njd":"暫無實況","qy":"1005"
    }
 }

POST

/*測試POST請求*/ 

params:請求參數 

HttpSwift.request("POST", url: url, params: ["post": "value"]) { (data, response, error) -> Void in
    //使用guard判斷
    guard error != nil else{
      print(data) 
      return
    }
}

更多方法請求

POST

  • POST不帶參數
HttpSwift.post(url, callback: { (data, response, error) -> Void in
    //使用guard判斷
    guard error != nil else{
        print(data)
        print("POST不帶參數 請求成功")
        return
    }
})

POST帶參數
HttpSwift.post(url, params: ["post": "POST Network"], callback: { (data, response, error) -> Void in
    let string = data
    //使用guard判斷
    guard error != nil else{
        print(data)
        print("POST 2 請求成功 \(string)")
        return
    }
})

GET

  • GET不帶參數
HttpSwift.get(url, callback: { (data, response, error) -> Void in
    let string = data
    //使用guard判斷
    guard error != nil else{
        print(data)
        print("GET不帶參數 請求成功 \(string)")
        return
    }
})

GET帶參數
HttpSwift.get(url, params: ["get": "POST Network"], callback: { (data, response, error) -> Void in
    let string = data
    //使用guard判斷
    guard error != nil else{
        print(data)
        print("GET帶參數 請求成功 \(string)")
        return
    }
})

項目主頁:http://www.baiduhome.net/lib/view/home/1438445583347

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!