gpt4 book ai didi

ios - POST 请求 Swift 3.0 Alamofire

转载 作者:行者123 更新时间:2023-11-30 12:42:46 25 4
gpt4 key购买 nike

我正在尝试在 Swift 3 中使用 Alamofire 执行 .POST 请求。我编写了以下函数

func postToken(Token: String) {
let parameters : [String:Any] = ["api_key":"ivaomobileapp", "function":"login", "IVAOTOKEN=":"\(Token)"]
Alamofire.request("URL", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil).responseJSON { (response:DataResponse<Any>) in

switch(response.result) {
case .success(_):
if let data = response.result.value{
print(data)
}
break

case .failure(_):
print(response.result.error as Any)
break

}
}
}

但是代码不起作用,它给出了以下错误:

Alamofire.AFError.responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))

这与 CURL(UNIX) 中的请求相同

curl https://whatever -X POST -F 'api_key=ivaomobileapp' -F 'function=Login' -F 'IVAOTOKEN=whatever'

我做错了什么?

谢谢

最佳答案

我认为您以错误的方式处理添加 IVAOTOKEN 参数,从而导致问题,可能会创建格式错误的字典。也许您的参数应如下所示:

let parameters : [String:Any] = [
"api_key": "ivaomobileapp",
"function": "login",
"IVAOTOKEN": Token
]

Alamofire 将在 Token 变量周围添加引号,因为它是一个字符串。结果应该是以下内容被发送到服务器:

{
"api_key": "ivaomobileapp",
"function": "login",
"IVAOTOKEN": "TOKENVALUE"
}

关于ios - POST 请求 Swift 3.0 Alamofire,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42039550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com