Iphone 如何在iOS中发送post请求中的表单数据?
可能重复:Iphone 如何在iOS中发送post请求中的表单数据?,iphone,ios,objective-c,url,post,Iphone,Ios,Objective C,Url,Post,可能重复: 我对人际网络之类的东西非常缺乏经验,所以请友善一点 我正在尝试发送一个包含以下表单数据的post请求 {“电子邮件”:JoeSmith@aol.com,“密码”:“密码”,“密码确认”:“密码”,“姓名”:“乔·史密斯”,“手机”:“4402415585”,“地址”:“假街”}: 到目前为止,我的情况如下: NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:
我对人际网络之类的东西非常缺乏经验,所以请友善一点 我正在尝试发送一个包含以下表单数据的post请求
{“电子邮件”:JoeSmith@aol.com,“密码”:“密码”,“密码确认”:“密码”,“姓名”:“乔·史密斯”,“手机”:“4402415585”,“地址”:“假街”}:
到目前为止,我的情况如下:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",SERVER_ADDRESS]] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
timeoutInterval:10];
[request setHTTPMethod: @"POST"];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
[connection start];
我的问题是我不知道如何在这个请求中包含表单数据。我确信有一种简单的方法可以使用,即
NSMutableURLRequest
,但我还没有弄清楚是哪种方法。您需要将JSON字符串转换为NSData格式。然后,您就可以将此数据设置为URL请求对象中的HTTP主体
添加代码示例:
NSData* postData= [<yourJSON> dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:[NSString stringWithFormat:@"%d", postData.length] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
delegate:self];
[connection start];
NSData*postData=[dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest*请求=[NSMutableUrlRequestRequestWithURL:url];
[请求设置HttpMethod:@“POST”];
[request setValue:[NSString stringWithFormat:@“%d”,postData.length]用于HttpHeaderField:@“内容长度”];
[request setValue:@“application/x-www-form-urlencoded charset=utf-8”用于HttpHeaderField:@“Content Type”];
[请求setHTTPBody:postData];
NSURLConnection*connection=[[NSURLConnection alloc]initWithRequest:request
代表:自我];
[连接启动];
如果需要更多帮助,请告诉我…“我确信有一个简单的方法”-我不会打赌。表单数据是一个HTMLISM,URL加载机制旨在跨协议通用,并特别支持HTTP。如果要发布表单数据,请创建一个合适的HTTP请求主体,或者寻找更全面的第三方HTTP客户端库。另请参阅无法将josn转换为nsdata@deepakkumar使用
SBJSON
库。它将解决所有与json相关的问题。