Swift: 网络请求三方库---Alamofire
2018-09-03 本文已影响20人
一欧Yiou
Alamofire
是一个用Swift
编写的HTTP
网络库,由此前热门开源项目AFNetworking
的的作者mattt开发,可非常简单地用于异步网络通信。
Alamofire Git地址
怎么安装就不说了.
下面直接进入正题, 了解一下Alamofire的使用方法
Alamofire
是一个功能强大的,Swift
语言HTTP
网络开发工具包。支持各种HTTP Method
、JSON
、文件上传、文件下载和多种认证方法。
首先肯定是引头文件了
import Alamofire
GET请求
不含参数
Alamofire.request(.GET, "http://httpbin.org/get")
包含参数
Alamofire.request(.GET,
"http://httpbin.org/get",
parameters: ["foo": "bar"])
包含 Response 处理
Alamofire.request(.GET,
"http://httpbin.org/get",
parameters: ["foo": "bar"])
.response { (request, response, data, error) in
println(request)
println(response)
println(error)
}
POST请求
let parameters = [
"foo": "bar",
"baz": ["a", 1],
"qux": [
"x": 1,
"y": 2,
"z": 3
]
]
Alamofire.request(.POST,
"http://httpbin.org/post",
parameters: parameters)
Download File
Alamofire.download(.GET,
"http://httpbin.org/stream/100",
destination: { (temporaryURL, response) in
if let directoryURL = NSFileManager.defaultManager()
.URLsForDirectory(.DocumentDirectory,
inDomains: .UserDomainMask)[0]
as? NSURL {
let pathComponent = response.suggestedFilename
return directoryURL.URLByAppendingPathComponent(pathComponent)
}
return temporaryURL
})
Upload file
let fileURL = NSBundle.mainBundle()
.URLForResource("Default",
withExtension: "png")
Alamofire.upload(.POST,
"http://httpbin.org/post",
file: fileURL)
下载图片
Alamofire.request(.GET, "/article/image/20150128/54c85e49bfa8d25764000f47/small_f3338d9cdf932cc3c0464dcb523361c5.jpg").response() {(_, _, data, _) in
let image = UIImage(data: data! as NSData)
self.imageView.image = image
}