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

我期待着通过我的iPhone应用程序发布一些数据和信息在networking服务器上。 需要你的帮助。 我没有得到的方式来从iPhone SDK发布数据到Web服务器。

这取决于你想以什么方式将数据发送到Web服务器。 如果您只想使用HTTP POST方法,则至less有两个选项。 您可以使用同步或asynchronous的NSURLRequest。 如果您只想发布数据,而不需要等待服务器的响应,则强烈build议使用asynchronous方式,因为它不会阻止用户界面。 即它运行在“后台”,用户可以继续使用(即与您的应用程序交互)。 asynchronous请求使用委托来告诉应用程序,请求已发送,取消,完成等。如果需要,还可以通过委托方法获得响应。

以下是一个asynchronousHTTP 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 **作为返回响应,你会在指针所指向的对象中find服务器的响应。 请记住,在处理同步请求时UI将会被阻塞。