2016-06-23 3 views
0

次のコードを使用して、コンテンツタイプ、フォームのパラメータでhttps POSTを実行しています。iOS - フォームがPOSTでHttps POSTがJSONとして認識されているコンテンツタイプ

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
    [request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@", URL_IHEARTRADIO_API, URL_USER_LOGIN]]]; 
    [request setHTTPMethod:@"POST"]; 

NSError *error; 

NSString *dataString = @"key1=value1&key2=value2";  
NSData *data = [dataString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

[request setValue:[@([dataString length]) stringValue] forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:dataString]; 

NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self]; 

[connection start]; 

しかし、私は常にエラーコード400 Plusで、サーバーからの応答を取得し、それはまた、コンテンツタイプがIがapplication/x-www-フォーム - として設定していても、アプリケーション/ JSONであると述べていますurlencoded。

これは、サーバーからの応答です:

status code: 400, headers { 
    "Accept-Ranges" = bytes; 
    "Access-Control-Allow-Headers" = "X-hostName, X-User-Id, X-Session-Id, Content-Type"; 
    "Access-Control-Allow-Origin" = "*"; 
    Connection = "keep-alive"; 
    "Content-Type" = "application/json;charset=UTF-8"; 
    Date = "Thu, 23 Jun 2016 16:48:11 GMT"; 
    Server = "Apache-Coyote/1.1"; 
    "Transfer-Encoding" = Identity; 
    Vary = "Accept-Encoding, X-hostName, X-Accept"; 
    Via = "1.1 varnish"; 
    "X-Cache" = MISS; 
    "X-Cache-Hits" = 0; 
    "X-Served-By" = "cache-sjc3643-SJC"; 
    "X-Timer" = "S1466700491.006144,VS0,VE75"; 
} 
+0

あなたはウェブサービスコード – Shubhank

+0

を表示できますか?@ Shubhank私は私の質問を編集しました。 –

答えて

1

"Content-Type" = "application/json;charset=UTF-8";は、応答コンテンツタイプではない要求です。

あなたは400エラーが発生する理由についてJSONの応答をチェックする必要があります。

+0

私はそれをありがとう、参照してください。 –

関連する問題