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

问题描述 投票:5回答:1

我期待通过我的iPhone应用程序在Web服务器上发布一些数据和信息。我没有办法将数据从iPhone SDK发送到Web服务器。

ios iphone webserver webservice-client
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 Class Reference

您也可以在生成请求后发送同步请求:

[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

如果传递NSURLResponse **作为返回响应,则将在指针指向的对象中找到服务器的响应。请记住,在处理同步请求时,UI会阻塞。

© www.soinside.com 2019 - 2024. All rights reserved.