我的cURL请求结构如下:
curl -X POST http://host.com \
--data token=myToken \
--data foo=myFoo \
--user myUsername:myPassword
我构建了数据参数:
let params = ["token" : myToken, "foo" : myFoo]
然后使用AFNetworking进行POST。
manager.POST("http://host.com", parameters: params, progress: nil, success: { task, responseObject in
//stuff
}, failure: { operation, error in
//error stuff
})
但是如何将cURL --user
键中的必要参数添加到此请求中?
答案 0 :(得分:2)
了解到某些内容,-u
或--user
与基本身份验证相同。你可以通过像这样的授权标题传递用户名和密码,其中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
})
}