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

Dip*_*Y W 5 iphone webserver webservices-client ios

我期待通过我的iphone应用程序在Web服务器上发布一些数据和信息.这样做需要你的帮助.我没有办法从iphone sdk向web服务器发布数据.

Bjö*_*lek 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];
Run Code Online (Sandbox Code Playgroud)

有关委托方法的详细信息,请参阅NSURLConnection类参考.

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

[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
Run Code Online (Sandbox Code Playgroud)

如果传递NSURLResponse **as返回响应,您将在指针指向的对象中找到服务器的响应.请记住,UI将在处理同步请求时阻止.