2017-06-08 8 views
0

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

+0

追加alamofire –

+0

いいえ "のコンテンツ・タイプ" をお試しください、 "application/json"(これは多かれ少なかれPOSTMANで自動的に行われます)のように?またはその他のヘッダー情報 – Larme

答えて

0

はたぶん、あなたはこのように、Content-Typeヘッダが欠落しています:

この回答で説明したように私はこのポストの要求を書いた

request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type") 
+0

私はそれを試して、同じコンソール出力を得ました。 –

+0

コンテンツタイプをapplication/x-www-form-urlencodedに変更するとどうなりますか? – sgerved

+0

@AdinLjudinaあなたの問題を解決できましたか? – sgerved

関連する問題