gpt4 book ai didi

ios - AFNetworking 后置参数未编码

转载 作者:行者123 更新时间:2023-11-28 08:58:43 25 4
gpt4 key购买 nike

我在使用 Swift 语言中的 post 方法时使用 AFNetworking 2.0 时遇到错误,因为正文未按应有的方式编码,这是我的代码:

let manager = AFHTTPRequestOperationManager()
manager.securityPolicy.allowInvalidCertificates = true;

let reqSerializer: AFJSONRequestSerializer = AFJSONRequestSerializer()
reqSerializer.setValue("T-Rex", forHTTPHeaderField: "User-Agent")
reqSerializer.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
reqSerializer.setValue("apikey", forHTTPHeaderField: "Authorization")
manager.requestSerializer = reqSerializer

let resSerializer: AFJSONResponseSerializer = AFJSONResponseSerializer()
resSerializer.acceptableContentTypes = ["text/html", "application/json"]
manager.responseSerializer = resSerializer;
let params: NSDictionary = ["userName" : userName, "passWord" : passWord]

manager.POST(Constants.apiURL.url + "users/login",
parameters:params,
success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in
NSLog("Success! Response is \(responseObject.description)")
},
failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in
NSLog("Failure! Error is: \(error.localizedDescription)")
})

调试我收到的请求:

POST 'http://api.cc/users/login': {
Accept = "application/json";
"Accept-Language" = "pt;q=1, fr;q=0.9, en;q=0.8";
Authorization = apikey;
"Cache-Control" = "no-cache";
"Content-Type" = "application/json";
"User-Agent" = "T-Rex";
} {"passWord":"123","userName":"123"}

和我的服务器回答:

400 'http://api.cc/users/login' [0.7545 s]: {
Age = 0;
Connection = "keep-alive";
"Content-Length" = 83;
"Content-Type" = "application/json";
Date = "Sun, 06 Sep 2015 01:03:00 GMT";
Server = "nginx/1.8.0";
Via = "1.1 varnish-v4";
"X-Varnish" = 950329;
} {"error":true,"message":"Required field(s) userName, passWord is missing or empty"}

不知道为什么用户名和密码是这样编码的:

{"passWord":"123","userName":"123"}

而不是这个:

{"passWord:123&userName":123"}

最佳答案

应该 AFHTTPRequestSerializer 而不是 AFJSONRequestSerializer

问题已解决。

关于ios - AFNetworking 后置参数未编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32419151/

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