Iphone 向服务器发送Post请求
我有这个php代码Iphone 向服务器发送Post请求,iphone,objective-c,ios,web-services,Iphone,Objective C,Ios,Web Services,我有这个php代码 <?php $users = $this->Session->read("user"); $varFName = $users['User']['first_name']; $varLName = $users['User']['last_name']; $message = "Hello, I would like to invite you to Clicksays! ".$varFName.
<?php
$users = $this->Session->read("user");
$varFName = $users['User']['first_name'];
$varLName = $users['User']['last_name'];
$message = "Hello,
I would like to invite you to Clicksays! ".$varFName." ".$varLName;
echo $this->Form->create('User', array('id' => 'sendEmailRequest', 'style'=>'padding : 0px;', 'url' => array('controller' => 'Contacts', 'action' => 'addEmailRequest')));
echo $this->Form->input('Email', array('id' => 'email', "size"=>"40"));
echo $this->Form->textarea("Message", array("type"=>"textarea", "id"=>"PreviewEmail", "style"=>"display:none;","rows"=>"5", "cols"=>"45", "value"=>$message));
echo $this->Form->button('Preview and edit invitation Clickup', array("id" => "butInvite", "type"=>"button"));
echo $this->Form->button('Send invitation Clickup', array('id' => 'butSendInvitation', 'type'=>'submit'));
echo $this->Form->end(); ?>
现在我非常确定我需要将数组作为HTTP主体,但我不知道如何放置。我不是一个网络人,对网络编程和方法知之甚少
我怎样才能传递细节?如果没有它,它将无法工作,并发布错误以输入用户的详细信息,该代码也存在于php中。RestKit非常适合在iOS应用程序中处理JSON内容。查看此教程:尝试此教程
NSString *urlString = @"Your url";
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSMutableData *body = [NSMutableData data];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
// Text parameter1
// NSString *param1 = @"parameter text";
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"name\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:param1] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
// Another text parameter
// NSString *param2 = @"Parameter 2 text";
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"desc\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:param2] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
// close form
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// set request body
[request setHTTPBody:body];
与上面的代码类似,您可以使用HTTP post方法发送多个值。如果您希望以数组形式发送,则应以Json字符串形式发送。您可以使用NSJSONSerialization类将数组转换为Json字符串尝试发布答案..如果有帮助..我也会接受+1给您..顺便说一下..我需要ios4.0兼容性。。
NSString *urlString = @"Your url";
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSMutableData *body = [NSMutableData data];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
// Text parameter1
// NSString *param1 = @"parameter text";
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"name\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:param1] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
// Another text parameter
// NSString *param2 = @"Parameter 2 text";
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"desc\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:param2] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
// close form
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// set request body
[request setHTTPBody:body];