简体   繁体   中英

How to obtain posted string from iPhone app on Server Side

I'm new to Web Services for iPhone and have a quick question. I want to send some values up to my php script on the server, however since there are so many values I dont want to include them in the actual URL (access them in $_GET in PHP). I want to send up a XML string that will allow my PHP script to get all the data and process it. So far I have the following template for sending data:

NSURL *someURL = ...
NSString *xmlString = @"This would be the entire XML message";
NSData *data = [xmlString dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:someURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:90];

[req setHTTPBody:data];
[req setHTTPMethod:@"POST"];

Now my understanding is this would submit the XML to the PHP script. My question is how would I obtain this on the server side... what would the $_POST['?????'] value be?

Thanks

You can do print_r($_REQUEST) to see all GET/POST variables.

Since you're calling the page directly, I'd probably setup a quick script to log the data to a file when the page is called.

You can read:

$HTTP_RAW_POST_DATA

or do:

$rawPost = file_get_contents("php://input");

From the manual:

php://input allows you to read raw data from the request body. In case of POST requests, it preferrable to $HTTP_RAW_POST_DATA as it does not depend on special php.ini directives. Moreover, for those cases where $HTTP_RAW_POST_DATA is not populated by default, it is a potentially less memory intensive alternative to activating always_populate_raw_post_data. php://input is not available with enctype="multipart/form-data".

For more information, check out:

http://php.net/manual/en/wrappers.php.php

http://php.net/manual/en/reserved.variables.httprawpostdata.php

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM