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

Posted

技术标签:

【中文标题】如何从 iPhone 应用程序将数据写入 Web 服务器?【英文标题】:How to write data to the web server from iPhone application? 【发布时间】:2010-12-02 10:44:56 【问题描述】:

我期待通过我的 iPhone 应用程序在网络服务器上发布一些数据和信息。我无法从 iPhone sdk 将数据发布到 Web 服务器。

【问题讨论】:

【参考方案1】:

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

这是一个异步 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 将阻塞。

【讨论】:

以上是关于如何从 iPhone 应用程序将数据写入 Web 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

如何 Flutter 将文件写入 iOS iPhone“在我的手机上查找”文件夹

将数据从 iPhone 应用程序发送到 Node.js Web 服务器

Swift:写入 JSON 并在本地保存到 iPhone 文件

用于将数据从共享托管网页写入 Firebase Firestore 的 Web 应用

如何将 SQLite 数据同步到 iPhone 中的服务器

如何根据数据量将数据存储在 iPhone/iPad 上?