Alamofire請求網路

2022-03-23 16:22:57 字數 2816 閱讀 3472

http - get和post請求

- 如果要傳遞大量資料,比如檔案上傳,只能用post請求

- get的安全性比post要差些,如果包含機密/敏感資訊,建議用post

- 如果僅僅是索取資料(資料查詢),建議用get

- 如果是增加、修改、刪除資料,建議使用post

ios中的http

- nsurlconnection:用法簡單,最古老最經典最直接的一種方案

- nsurlsession:ios7新出的技術,功能比nsurlconnection更加強大

- afnetworking:簡單易用,提供了基本夠用的常用功能

- alamofire:純swift網路請求庫

alamofire特點:

1.純swift編寫的http網路庫

2.鏈式請求、響應

3.url/json/plist格式引數

4.上傳檔案/資料/流/多格式資料

5.斷點續傳

6.nsurlcredential授權

7.http響應驗證

8.nsprogress&進度閉包

使用cocoapods安裝:

source '

'platform :ios,

'9.0

'use_frameworks!target

'alamofiredemo'do

pod

'alamofire

'pod

'swiftyjson

'end

alamofire基本用法:

import alamofire

alamofire.request(.get,"")

響應處理:

響應序列化:

response()

responsedata()

responsestring(encoding:nsstringencoding)

responsejson(options:nsjsonreadingoptions)

responsepropertylist(options:nspropertylistreadoptions)

http方法:

public

enum

method:string

引數:

let parameters=[

"foo

":"bar",

"baz

":["

a",1

],

"qux":[

"x":1,

"y":2,

"z":3]

]

引數encoding和content-type

支援的上傳型別:

1.file

2.data

3.stream

4.multipartformdata

let destination =alamofire.request.suggesteddownloaddestination(directory:.documentdirectory,domain:.userdomainmask)

alamofire.download(.get,

"",destinaion:destination)

認證:- authentication(認證)和authorization(授權)

- nsurlcredential and nsurlauthenticationchallenge

- 認證協議

1.http basic(每次傳送相同認證資訊)

2.http digest(每次傳送的認證資訊不一樣) 

驗證(validation):

- alamofire預設不驗證響應的內容一律認為請求成功,需要驗證

- 手動驗證

- 自動驗證

- status code:200...299

- 響應的content-type必須匹配請求頭

request物件:

- request,upload或者download

- authenticate,validate和responsedata

- suspend()

- resume()

- cancel()會產生錯誤傳遞給已經註冊的所有響應處理者

response解析:

- strings,json,and property lists

- 自定義物件解析

- 自定義物件集合解析

具體**實現傳送門:alamofiredemo

網路庫Alamofire使用方法

github位址 由於alamofire是swift網路庫,所以,以下的所有介紹均基於swift專案 以下為使用cocoapods匯入,其餘的方式請參考官網 source platform ios,10.0 use frameworks 這句一定不要忘了 target do pod alamofir...

iOS 使用 Alamofire 實時監測網路狀況

最近在用swift寫工程,網路請求用的是alamofire,在翻看這個庫的時候發現 networkreachabilitymanager 可以進行網路監察,廢話不多說直接上 吧,有興趣的朋友可以去深入研究 let manager networkreachabilitymanager host man...

Alamofire上傳檔案

先看下請求的介面 一般使用者修改頭像都是修改的頭像的連線,這裡我們後台是直接上傳的檔案,所以我就基於alamofire封裝了乙個帶有檔案引數的網路請求方法 mark file請求 如果是的話吧轉化成data iflet content value as?uiimage to url case fai...