如何从iPhone应用程序将数据写入Web服务器?

5

我希望我的iPhone应用程序可以将一些数据和信息发布到Web服务器上。但我不知道如何从iPhone SDK向Web服务器发布数据。

1个回答

15

要发送数据到Web服务器的方式取决于您的需求。如果您只想使用HTTP POST方法,则至少有两种选择。您可以使用同步或异步的NSURLRequest。如果您只想发送数据而不需要等待来自服务器的响应,则强烈建议使用异步请求,因为它不会阻塞用户界面。即它在“后台”运行,用户可以继续使用(也就是与之交互)您的应用程序。异步请求使用委托向应用程序通知请求已发送、取消、完成等信息。如果需要,您也可以通过委托方法获取响应。

这里提供一个异步HTTP POST请求的示例:

// define your form fields here:
NSString *content = @"field1=42&field2=Hello";

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.example.com/form.php"]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[content dataUsingEncoding:NSISOLatin1StringEncoding]];

// generates an autoreleased NSURLConnection
[NSURLConnection connectionWithRequest:request delegate:self];
请参考NSURLConnection类参考,以了解有关委托方法的详细信息。
你还可以在生成请求后发送同步请求:
[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
如果你传递一个返回响应的NSURLResponse **指针对象,你将在该指针所指向的对象中找到服务器的响应。请牢记在同步请求处理时,UI将会被阻塞。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接