NSMutableURLRequest setHTTPBody

nahm ich diesen code aus einer anderen Frage und meine script-Datei hat mehr Eingänge, nicht nur mydata, auch die Daten, die in den mydata sollte nicht statisch sein text, sollte es von einem NSString.

Also meine Frage ist, wie Stelle ich mehrere Stücke von Daten zu meinen script und wie kann ich die Eingabe eines Wertes aus einem NSString, weil mein Verständnis ist, kann ich nicht verwenden NSStrings mit c-Datentypen. nicht sicher, ob das die richtige Terminologie also bitte korrigieren Sie mich, wenn ich falsch bin.

const char *bytes = "mydata=Hello%20World";

NSURL *url = [NSURL URLWithString:@"http://www.mywebsite.com/script.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"POST"];
[request setHTTPBody:[NSData dataWithBytes:bytes length:strlen(bytes)]];

NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
//NSString *responseString = [[NSString alloc] initWithFormat:@"%@", responseData];
NSLog(@"responseData: %@", responseData);

userData = responseData;

Neue Frage mit Antwort unten

NSMutableData *data = [NSMutableData data]; 

NSString *number = numberIB.text;
NSString *name = nameIB.text;

NSString *nameString = [[NSString alloc] initWithFormat:@"name=", name];
NSString *numberString = [[NSString alloc] initWithFormat:@"number=", number];

NSLog(nameString);
NSLog(numberString);

[data appendData:[nameString dataUsingEncoding:NSUTF8StringEncoding]];
[data appendData:[numberString dataUsingEncoding:NSUTF8StringEncoding]];

NSURL *url = [NSURL URLWithString:@"http://www.siteaddress.com/test.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"POST"];
//[request setHTTPBody:[NSData dataWithBytes:data length:strlen(data)]];
[request setHTTPBody:data];

NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
//NSString *responseString = [[NSString alloc] initWithFormat:@"%@", responseData];
NSLog(@"responseData: %@", responseData);

den NSLogs für nameString und numberString zurückkommen name= Nummer= ohne Daten. verursacht keine Daten gesendet werden, auf mein Skript.

Warum nicht ein NSMutableString und rufen Sie dann -dataUsingEncoding: auf, dass statt der Verwendung eines NSMutableData Objekt?

InformationsquelleAutor mintuz | 2011-06-16

Schreibe einen Kommentar