2

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

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();
?>

谁能告诉我我做错了什么?

4

2 回答 2

2

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

您可能会发现此答案对您的需求很有用:AFNetworking Post Request

于 2013-04-24T18:47:58.650 回答
2

查看 AFnetworking 并通过他们的 api 工作。使用 api 发送 post 请求非常快,并且是大多数应用程序用于 Web 连接的方式。

也请不要因讽刺评论而气馁。您应该将 iOS 项目标记为 iOS 而不是 xcode(除非您确实需要实际程序 xcode 的帮助)。但我不认为骚扰每个进来并犯此错误的人是有成效的。一种更委婉的方式是个人信息,而不是公开反驳

https://github.com/AFNetworking/AFNetworking

于 2013-04-24T18:50:03.083 回答