2016-06-23 16 views
0

Ich verwende den folgenden Code, um einen https-POST mit Parametern des Inhaltstyps Formular auszuführen.iOS - HTTPS-POST mit noch als JSON-Inhaltstyp erkannten Formularen

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]; 

Aber ich bekomme immer die Antwort vom Server mit dem Fehlercode 400 Plus, es gibt auch an, dass die Content-Type-Anwendung ist/json auch wenn ich es als application/x-www-form- bin Einstellung urlencodiert.

Dies ist die Antwort vom Server:

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

können Sie den Web-Service-Code anzeigen – Shubhank

+0

@Shubhank Ich habe meine Frage bearbeitet. –

Antwort

1

"Content-Type" = "application/json;charset=UTF-8"; ist die Antwort Content-Typ nicht die Anforderung.

Sie sollten die JSON-Antwort überprüfen, warum Sie einen 400-Fehler erhalten.

+0

Ich sehe, Danke dafür. –

Verwandte Themen