Ich versuche, neue Daten zu einem ws zu schreiben, aber im Fehler Geting jedes Mal ichPOSTING DATEN AUF EINEN WS
benötigen einen Benutzernamen und ein Passwort1-Pass jedes Mal
2-Code der Daten mit AES256 mit dem API KEY
Code:
- (IBAction)AddTicket:(id)sender {
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
NSURL *URL = [[NSURL alloc] initWithString:@"http://dev.enano-tech.com/api/Ticket"];
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"id",@"1",@"idProject",@"1",@"idTicketType",@"nameo",@"name",@"nameo",@"description", @"1",@"idStatus",@"2016-06-23 15:20:49",@"creationDateTime", nil];
NSData *dataToPost = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
NSData *final =[dataToPost AES256EncryptWithKey:@"02b6e206868660a0d59d2e51a11fdcd6"];
//
NSLog(@"postData1e == %@",final);
NSLog(@"final %@",dataToPost);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
[request setHTTPMethod:@"POST"];
[request addValue:@"CURLAUTH_BASIC" forHTTPHeaderField:@"CURLOPT_HTTPAUTH"];
[request addValue:@"Basic YWRtaW46YWRtaW5hZG1pbg==" forHTTPHeaderField:@"authorization"];
[request addValue:@"admin:adminadmin" forHTTPHeaderField:@"CURLOPT_USERPWD"];
[request addValue:@"true" forHTTPHeaderField:@"CURLOPT_RETURNTRANSFER"];
[request addValue:@"false" forHTTPHeaderField:@"CURLOPT_SSL_VERIFYPEER"];
[request addValue:@"POST" forHTTPHeaderField:@"CURLOPT_CUSTOMREQUES"];
[request addValue:@"true" forHTTPHeaderField:@"CURLOPT_POST"];
[request addValue:@"false" forHTTPHeaderField:@"CURLOPT_POSTFIELDS"];
[request setHTTPBody:final];
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *result = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSString *str = [[NSString alloc]initWithData:final encoding:NSUTF8StringEncoding];
NSLog(@"data %@",data);
NSLog(@"respoce %@",response);
NSLog(@"result == %@",result);
}];
[postDataTask resume];
}
Antwort:
2016-08-02 15: 06: 47.768 Projektor [3936: 1619429] result == {"error": "ungültige API-Abfrage", "message": "'data' ist für Methode POST nicht korrekt codiert. Antrag auf korrekten API KEY "}
dies ist die Dokumentation von api:
Meine Vermutung, ist, dass der Wert, den Sie buchen müssen, wie '{" Daten "aussehen könnte:" myAESENCRYPTEDData "}' – Larme
Sie fehlen die Schlüssel, die ist definiert in POST-Methode auf Back-End –
Ich füge alle Schlüssel jetzt mit diesem Fehler 2016-08-02 11: 30: 18.220 Projektor [3175: 846154] result == {"error": "ungültige API-Abfrage", "message": "'data' ist für Methode POST nicht korrekt codiert. Anfrage nach dem richtigen API KEY "} –