我正在尝试登录Web服务,如下所示:
func Login(completionHandler:@escaping (Bool) -> ()) {
let url = MyUrl
let parameters: Parameters = [
"Password":password,
"StayLoggedIn":NSNumber(value: true),
"UserName":username
]
var headers:HTTPHeaders = commonHeaders()
headers["Content-Type"] = "application/json;charset=UTF-8"
Alamofire.request(url, method:.post, parameters:parameters, headers:headers).responseJSON { response in
switch response.result {
case .success:
debugPrint(response)
case .failure(let error):
print(error)
}
}
}
不知何故,服务器返回501错误。我正在重写Swift中的Obj-c应用程序,并将AURofire的NSURLSessions替换为讨价还价。
我在工作的obj-c应用程序中看到的是发送到服务器的标头包含
Content-Type: application/json;charset=UTF-8
如您所见,我明确地将此标头添加到我的请求中,但不知何故,它不会发送到服务器。
我还看到,我的登录凭据不会发送到服务器。
所以,我想我的问题是:如何告诉Alamofire使用正确的编码/内容类型?
试试这个编码application/x-www-form-urlencoded
而不是application/json;charset=UTF-8