我有一个iOS应用程序,它向PHP表单发送POST请求。我修改了PHP表单,以便向第三方API发送另一个POST请求(使用cURL)。问题是在iOS中, returnString 是来自cURL的响应,我想从cURL响应中返回一些部分。
iOS代码:
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSMutableData *body = [NSMutableData data];
//fill body
[request setHTTPBody:body];
//return and test
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"returnString = %@",returnString);
在PHP中我有这个:
$post = '{"score":1337,"playerName":"Sean Plott","cheatMode":false}';
$theurl = "https://api.parse.com/1/classes/GameScore";
$ch = curl_init($theurl);
$headers = array(
'X-Parse-Application-Id: myAppID',
'X-Parse-REST-API-Key: myKey',
'Content-type: application/json',
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
$responseArray = json_decode($response, true);
echo $responseArray[0];
正如您所看到的,我正在尝试仅返回 responseArray 的第一个元素。但是,我得到了cURL POST的完整响应(即使没有回声)。
我知道我可以修改iOS应用来解析完整的响应并获得第一个元素。但是,我试图不更新应用程序只是用于返回带有echo语句的单个元素的后端方法。
这可能吗?如何让PHP不返回cURL POST的完整响应,只返回其中的一部分?
谢谢!