2013-04-24 105 views
2

我需要一些教程,如何使用来自iOS应用程序的HTTP POST(或GET)请求。我想发送一个字符串到我的服务器,并将其写入数据库。我发现这段代码:iOS应用程序http发布/获取请求

NSString *post = @"key1=val1"; 
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:@"http://www.nowhere.com/sendFormHere.php"]]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 

我把它添加到UIAction按钮,但它不会发送任何东西到我的服务器。在我的服务器上,我有一个PHP脚本,它从post中获取“key1”,并将它写入db。

<? 
    $postr = $_POST["key1"]; 
    $con0 = mysql_connect("server","db","pass"); 
    mysql_select_db("table", $con0); 
    mysql_set_charset('utf8',$con0); 
    mysql_query("INSERT INTO tok (token) VALUES ('$postr')"); 
    mysql_close(); 
?> 

有人能告诉我我做错了什么吗?

+0

没有,当然我想从iOS应用发送个人信息...只需要知道什么是错 – stepik21 2013-04-24 18:32:45

+0

然后写什么你意思。 Xcode和你的iOS应用程序是两回事。这个问题与Xcode完全无关。 – 2013-04-24 18:34:33

+0

为什么?我需要xcode的代码...但是好的,那么你现在可以帮我吗? :) – stepik21 2013-04-24 18:39:57

回答

2

AFNetworking是一个功能非常强大的库,可以帮助您减少创建HTTP请求的工作量,您可以在其github页面上找到关于如何使用该库的几个示例。

你会发现这个答案对你的需要有用:AFNetworking Post Request

2

看AFnetworking,并通过他们的API工作。使用api发送发布请求的速度非常快,并且是大多数应用程序用于Web连接的原因。

也请不要因讽刺评论而灰心。您应该将iOS项目标记为iOS而不是xcode(除非您确实需要实际程序xcode的帮助)。但是,我认为不要让每个人都陷入困境,并且犯下这个错误。更委婉的方式是相对于公开反驳

https://github.com/AFNetworking/AFNetworking

+0

谢谢,我会试试:) – stepik21 2013-04-24 18:55:35