Fire is a delightful HTTP/HTTPS networking framework for iOS/macOS/watchOS/tvOS platform written in Swift and inspired by Python-Requests: HTTP for Humans.
Fire was written for humans to read, and incidentally, for machines to execute :)
- Chainable Request / Response Methods
- Upload File / Data / MultipartFormData
- HTTP Basic Authorization
- TLS Certificate and Public Key Pinning
- Comprehensive Unit and Integration Test Coverage
- Asynchronous Request
- Timeouts
- form (
x-www-form-encoded
)/JSON HTTP body
- iOS 8.0+
- macOS 10.10+
- watchOS 2.0+
- tvOS 9.0+
- Xcode 8 with Swift 3
pod 'Fire'
You are welcome to fork and submit pull requests.
Fire is open-sourced software, licensed under the MIT
license.
To send a request with Fire, you need to do 3 steps.
First, build up a Fire object:
let f = Fire.build(HTTPMethod: .GET, url: "https://yourdomain.com/get?l=zh")
Then, config the Fire object:
f.setParams(["key": "value"])
f.setFiles([file])
f.setHTTPHeaders(["Accept": "application/json"])
f.setBasicAuth("user", password: "pwd!@#")
f.setHTTPBodyRaw(json.rawValue)
let certData = NSData(contentsOfFile: NSBundle.mainBundle().pathForResource("FireDemo", ofType: "cer")!)!
f.setSSLPinning(localCertData: certData) {
print("Warning: Under Man-in-the-middle attack!!")
}
f.onError({ (error) -> Void in
print("Error: Network offline!")
})
Finally, fire up:
Fire.fire { (json, resp) -> Void in
print(json["arg"]["key"].stringValue)
}
// or
Fire.fireForJSON { (json, resp) -> Void in
print(json["arg"]["key"].stringValue)
}
// or
Fire.fireForString { (str, resp) -> Void in
print(str)
}
// or
Fire.fireForData { (data, resp) -> Void in
print("Success")
}
If you want to cancel it:
f.cancel {
print("Canceled")
}
Fire 一个使用 Swift 书写的轻量级 iOS/macOS/watchOS/tvOS 平台 HTTP/HTTPS 网络框架,深受 Python-Requests: HTTP for Humans 启发。
Fire 为了更好的可读性而生,碰巧还可以运行 :)
- 链式调用的请求和响应方法
- 上传文件和数据
- 支持 HTTP Basic 认证
- 支持 SSL Pinning
- 全面的单元和集成测试覆盖
- 异步请求
- 超时
- 支持 form (
x-www-form-encoded
)/JSON HTTP 请求体
- iOS 8.0+
- macOS 10.10+
- watchOS 2.0+
- tvOS 9.0+
- Xcode 8 及 Swift 3
pod 'Fire'
欢迎任何人提交代码和问题。
Fire 是一个开源软体,遵循 MIT
协议。
要使用 Fire 发送请求,你只需要三个步骤。
首先,构建一个 Fire 实例:
let f = Fire.build(HTTPMethod: .GET, url: "https://yourdomain.com/get?l=zh")
然后,进行一些配置:
f.setParams(["key": "value"])
f.setFiles([file])
f.setHTTPHeaders(["Accept": "application/json"])
f.setBasicAuth("user", password: "pwd!@#")
f.setHTTPBodyRaw(json.rawValue)
let certData = NSData(contentsOfFile: NSBundle.mainBundle().pathForResource("FireDemo", ofType: "cer")!)!
f.setSSLPinning(localCertData: certData) {
print("Warning: Under Man-in-the-middle attack!!")
}
f.onError({ (error) -> Void in
print("Error: Network offline!")
})
最后,发起请求:
Fire.fire { (json, resp) -> Void in
print(json["arg"]["key"].stringValue)
}
// or
Fire.fireForJSON { (json, resp) -> Void in
print(json["arg"]["key"].stringValue)
}
// or
Fire.fireForString { (str, resp) -> Void in
print(str)
}
// or
Fire.fireForData { (data, resp) -> Void in
print("Success")
}
如果你需要取消请求:
f.cancel {
print("Canceled")
}