我想将以下 curl 操作成 swift。我不知道如何在 Swift 中编写 NSURLSession 的 header 。
curl -X GET --header "X-Auth-Token: abcdef" https://devapi.thecurrencycloud.com/v2/rates/detailed?buy_currency=EUR&sell_currency=USD&fixed_side=buy&amount=1000
这是我的代码,但它在句子末尾返回了错误。你能告诉我问题是什么吗?
func exchangerate(){
let token = "abcdef"
let request = NSMutableURLRequest(URL: NSURL(string: "https://devapi.thecurrencycloud.com/v2/rates/detailed")!)
var buyCurrency = "EUR"
var sellCurrency = "USD"
var fixSide = "buy"
var amount = "1000"
var postString:NSString = "buy_currency=\(buyCurrency)&sell_currency=\(sellCurrency)&fixed_side=\(fixSide)&amount=\(amount)"
request.HTTPMethod = "GET"
request.setValue(token, forHTTPHeaderField: "X-Auth-Token")
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
println("error=\(error)")
return
}
println("response = \(response)")
let responseStringExchangeRate = NSString(data: data, encoding: NSUTF8StringEncoding)
println("responseStringExchangeRate = \(responseStringExchangeRate)")
}
task.resume()
}
error=Error Domain=NSURLErrorDomain Code=-1005 “操作无法完成。(NSURLErrorDomain 错误 -1005。)” UserInfo=0x7fea7b4d63f0 {NSErrorFailingURLStringKey= https://devapi.thecurrencycloud.com/v2/rates/detailed , NSErrorFailingURLKey= https://devapi.thecurrencycloud.com/v2/rates/detailed , _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x7fea7d805ba0 “操作无法完成。(kCFErrorDomainCFNetwork 错误 -1005。)”
最佳答案
我已经解决了如下问题。感谢您的帮助。
func exchangerate(){
let token = "abcdef"
var buyCurrency = "EUR"
var sellCurrency = "USD"
var fixSide = "buy"
var amount = "1000"
// let request = NSMutableURLRequest(URL: NSURL(string: "https://devapi.thecurrencycloud.com/v2/rates/detailed")!)
var buyCurrency = "EUR"
//var postString:NSString = "buy_currency=\(buyCurrency)&sell_currency=\(sellCurrency)&fixed_side=\(fixSide)&amount=\(amount)"
let request = NSMutableURLRequest(URL: NSURL(string: "https://devapi.thecurrencycloud.com/v2/rates/detailed?buy_currency=\(buyCurrency)&sell_currency=\(sellCurrency)&fixed_side=\(fixSide)&amount=\(amount)")!)
request.HTTPMethod = "GET"
request.setValue(token, forHTTPHeaderField: "X-Auth-Token")
// request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
println("error=\(error)")
return
}
println("response = \(response)")
let responseStringExchangeRate = NSString(data: data, encoding: NSUTF8StringEncoding)
println("responseStringExchangeRate = \(responseStringExchangeRate)")
}
task.resume()
关于swift - 我想通过 Swift 实现 `curl --header $1`。(NSURLSession 的标题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27807346/