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.
NSMutableString
und rufen Sie dann -dataUsingEncoding:
auf, dass statt der Verwendung eines NSMutableData
Objekt?InformationsquelleAutor mintuz | 2011-06-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine
NSMutableData
Objekt append-bytes, wie erforderlich, etwa so:Edit: Wenn Sie möchten, fügen Sie ein
NSString
in den Daten-Puffer, die Sie verwenden können-[NSString dataUsingEncoding:]
auf und übergeben Sie es aus, um-appendData:
Siehe aktualisiert.
finden Sie eine aktualisierte problem mithilfe der Informationen, die Sie zur Verfügung gestellt haben, mich.
Sie vergaß hinzuzufügen, das format specifiers (
%@
) in der format-strings übergeben-initWithFormat:
InformationsquelleAutor Jacob Relkin