我在swift 3中有一个项目并且想要发出GET请求。但是,Alamofire尚未更新为swift 3. Alamofire何时支持swift 3,以及如何用swift 3中的参数硬编码GET请求?如何在swift 3中执行GET请求
回答
Alamofire将被更新为Swift 3 ...只要他们接近它,我想。没有Alamofire GET请求是相当容易:
let req = NSMutableURLRequest(URL: NSURL(string:"your-endpoint-url?parameter=value")!)
req.HTTPMethod = "GET"
req.HTTPBody = "key=\"value\"".dataUsingEncoding(NSUTF8StringEncoding) //This isn't for GET requests, but for POST requests so you would need to change `HTTPMethod` property
NSURLSession.sharedSession().dataTaskWithRequest(req) { data, response, error in
if error != nil {
//Your HTTP request failed.
print(error.localizedDescription)
} else {
//Your HTTP request succeeded
print(String(data: data!, encoding: NSUTF8StringEncoding))
}
}.resume()
你是否也知道如何添加验证? –
并添加参数? –
@SimonNarang请参阅编辑参数。对于身份验证,我假设你是指OAuth?看看这个库:https://github.com/OAuthSwift/OAuthSwift – brimstone
现在有发现Alamofire迅速3支在这里:https://github.com/Alamofire/Alamofire.git。看起来相当稳定,我还没有遇到任何重大问题。
您可以在您的podfile使用此代码很容易安装使用cocoapods这个分支:如果你的项目经验建立,因为安装这种吊舱的错误
pod 'Alamofire',
:git => 'https://github.com/Alamofire/Alamofire.git',
:branch => 'swift3'
,然后回去和它添加到年底你podfile:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = 'NO'
end
end
end
夫特3.0
var request = URLRequest(url: URL(string: "http://example.com")!)
request.httpMethod = "POST"
let session = URLSession.shared
session.dataTask(with: request) {data, response, err in
print("Entered the completionHandler")
}.resume()
斯威夫特3
let url = URL(string: "http://example.com/get")
URLSession.shared.dataTask(with: url!, completionHandler: {
(data, response, error) in
if(error != nil){
print("error")
}else{
do{
let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String : AnyObject]
OperationQueue.main.addOperation({
self.tableView.reloadData()
})
}catch let error as NSError{
print(error)
}
}
}).resume()
REST API In Swift 3 And Xcode 8 Using URLSession And JSONSerialization
谨慎阐述? – RamenChef
func getApiMethod() {
let url = URL(string: "enter url here")!
URLSession.shared.dataTask(with: url, completionHandler: { (data, response, error) in
if (error != nil) {
print("error")
} else {
do {
let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String : AnyObject]
// For count
print(json as NSDictionary)
} catch let error as NSError{
print(error)
}
}
}).resume()
}
- 1. Swift 3 HTTPS GET请求
- 2. 如何在Swift 3中创建GET请求?
- 3. Alamofire 4 Swift 3 GET请求参数
- 4. Android - 如何执行HTTP GET请求?
- 5. 执行GET请求RunKeeper
- 6. DispatchQueue.main.async的多个请求在swift中不能正确执行3
- 7. 执行HTTP POST请求,然后执行HTTP GET请求
- 8. 如何在swift中执行屏障3
- 9. 如何在react-redux中正确执行GET请求?
- 10. 如何在python中执行POST/GET请求?
- 11. swift 3 http请求
- 12. 执行GET请求 - 使用Javascript
- 13. jquery的AJAX GET请求执行两次
- 14. 执行从jQuery的脚本GET请求
- 15. 如何在Kohana 3中执行外部请求?
- 16. 如何使用C#中的cookie执行简单的GET请求#
- 17. 如何在Swift中创建GET,POST和PUT请求?
- 18. NullPointerException在Android中执行HTTP GET请求..任何想法?
- 19. Laravel,$ .ajax POST执行GET请求
- 20. Swift 3 - 试图执行获取请求时程序崩溃
- 21. 如何在mysql中执行tarantool请求?
- 22. 如何在MongoJS中执行DELETE请求?
- 23. 如何在Haskell中执行HTTPS请求?
- 24. 如何在JMeter中执行Ajax请求?
- 25. SNMP:为什么SET请求也执行GET请求?
- 26. 执行简单的POST请求Swift
- 27. 如何执行长请求
- 28. HTTP请求:有没有办法在GET中执行GET操作在linux中
- 29. 如何在Tornado请求中执行Tornado请求
- 30. 如何在Swift 3中同步https请求
@EricAya在我的情况,我不想使用Alamofire与斯威夫特3,因为它是只支持iOS的9+。 –
请参阅第三方API问题(“何时将Alamofire支持Swift 3”)到他们各自的GIT页面,而不是SO。 –