ASP.NET Coreを使用して構築したサーバーにログイン情報を送信しています。私はPostManとFiddler経由でサーバーをテストし、有効な応答を返します。iOS |サーバーはステータスコード415を返します(Swift 3)
var request = URLRequest(url: URL(string: "http://adincebic.com/auth/login")!)
request.httpMethod = "POST"
let postString = "[email protected]&password=a"
request.httpBody = postString.data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else { // check for fundamental networking error
print("error=\(String(describing: error))")
return
}
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { // check for http errors
print("statusCode should be 200, but is \. (httpStatus.statusCode)")
print("response = \(String(describing: response))")
}
let responseString = String(data: data, encoding: .utf8)
print("responseString = \(String(describing: responseString))")
}
task.resume()
は私が[:「myEmail」、「パスワード」:「電子メール」「MYPASS」]のような辞書を使用してみました:それは私がそのようにやらせなかった
は、ここに私のポスト要求です。 私もAlamofireを使ってみましたが、運がうまくいかないと、サーバは常に415エラーをコンソールに返します。
私のサーバーが動作することを確認するには、テストするためにUWPアプリケーションを作成し、期待通りに機能しました。ここで
は、Xcodeで私のサーバーの応答です:
statusCode should be 200, but is 415
response = Optional(<NSHTTPURLResponse: 0x6080002275a0> { URL: http://adincebic.com/auth/login } { status code: 415, headers {
Connection = "keep-alive";
"Content-Length" = 0;
Date = "Thu, 08 Jun 2017 12:16:12 GMT";
Server = "nginx/1.10.1 (Ubuntu)";
} })
responseString = Optional("")
私はそれがエンコーディングに問題や読み出しデータに問題があることを想定しています。 HTTP Request in Swift with POST method
追加alamofire –
いいえ "のコンテンツ・タイプ" をお試しください、 "application/json"(これは多かれ少なかれPOSTMANで自動的に行われます)のように?またはその他のヘッダー情報 – Larme