Swift 将 cURL -用户密钥转换为 json 用于 AFNetworking
Swift convert cURL -user key to json for AFNetworking
我的 cURL 请求结构如下:
curl -X POST http://host.com \
--data token=myToken \
--data foo=myFoo \
--user myUsername:myPassword
我构造数据参数:
let params = ["token" : myToken, "foo" : myFoo]
然后 POST 使用 AFNetworking。
manager.POST("http://host.com", parameters: params, progress: nil, success: { task, responseObject in
//stuff
}, failure: { operation, error in
//error stuff
})
但是如何将 cURL --user
键中的必要参数添加到此请求?
学习了,-u
或--user
与Basic auth一样。您可以像这样通过授权 header 传递用户名和密码,其中 base64Encode()
是我自己的字符串扩展名,用于转换为 base64。
完全转换:
curl -X POST http://host.com \
--data token=myToken \
--data foo=myFoo \
--user myUsername:myPassword
会是这样:
let params = ["token" : myToken, "foo" : myFoo]
if let base64 = "myUsername:myPassword".base64Encode() {
manager.requestSerializer.setValue("Basic " + base64, forHTTPHeaderField: "Authorization")
manager.POST("http://host.com", parameters: params, progress: nil, success: { task, responseObject in
//stuff
}, failure: { operation, error in
//error stuff
})
}
我的 cURL 请求结构如下:
curl -X POST http://host.com \
--data token=myToken \
--data foo=myFoo \
--user myUsername:myPassword
我构造数据参数:
let params = ["token" : myToken, "foo" : myFoo]
然后 POST 使用 AFNetworking。
manager.POST("http://host.com", parameters: params, progress: nil, success: { task, responseObject in
//stuff
}, failure: { operation, error in
//error stuff
})
但是如何将 cURL --user
键中的必要参数添加到此请求?
学习了,-u
或--user
与Basic auth一样。您可以像这样通过授权 header 传递用户名和密码,其中 base64Encode()
是我自己的字符串扩展名,用于转换为 base64。
完全转换:
curl -X POST http://host.com \
--data token=myToken \
--data foo=myFoo \
--user myUsername:myPassword
会是这样:
let params = ["token" : myToken, "foo" : myFoo]
if let base64 = "myUsername:myPassword".base64Encode() {
manager.requestSerializer.setValue("Basic " + base64, forHTTPHeaderField: "Authorization")
manager.POST("http://host.com", parameters: params, progress: nil, success: { task, responseObject in
//stuff
}, failure: { operation, error in
//error stuff
})
}