2

我正在寻找将一些数据发送到我的应用程序中的 html 网站的最佳解决方案。我的程序中有一些变量采用以下格式:

1       var1
2       var2
3       var3
4       var4
5       var5

等等。仅此而已。将其发送到网站的最佳方式是什么?

4

1 回答 1

0

以下代码是用POST方法描述的简单示例。(如何通过POST方法传递数据)

您可以使用以下代码片段,如本文所述

在这里,我简单描述一下如何使用 POST 方法。

1.使用实际用户名和密码设置帖子字符串。

NSString *post = [NSString stringWithFormat:@"&Username=%@&Password=%@",@"username",@"password"];

2.NSASCIIStringEncoding使用以及您需要以 NSData 格式发送的帖子字符串对帖子字符串进行编码。

NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

您需要发送数据的实际长度。计算帖子字符串的长度。

NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];

3.创建一个包含所有属性的 Urlrequest,如HTTP方法、http 标头字段以及 post 字符串的长度。创建URLRequest 对象并初始化它。

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];

设置要向该请求发送数据的 URL。

[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.abcde.com/xyz/login.aspx"]]];

现在,设置HTTP方法(POST 或 GET)。像在您的代码中一样编写此行。

[request setHTTPMethod:@"POST"];

HTTP使用发布数据的长度设置标题字段。

[request setValue:postLength forHTTPHeaderField:@"Content-Length"];

还要设置 HTTP 标头字段的编码值。

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Current-Type"];

使用 postData设置HTTPBodyurlrequest 的。

[request setHTTPBody:postData];

4.现在,创建 URLConnection 对象。使用 URLRequest 对其进行初始化。

NSURLConnection *conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];

它返回初始化的 url 连接并开始为 url 请求加载数据。您可以使用下面的if/else语句检查您URL的连接是否正确完成。

if(conn)
{
NSLog(@”Connection Successful”)
}
else
{
NSLog(@”Connection could not be made”);
}

5.要接收来自 HTTP 请求的数据,您可以使用 URLConnection 类参考提供的委托方法。委托方法如下。

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data

上述方法用于接收我们使用 post 方法获取的数据。

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

此方法,您可以在未与服务器建立连接的情况下接收错误报告。

- (void)connectionDidFinishLoading:(NSURLConnection *)connection

上述方法用于连接成功后的数据处理。

另请参阅 文档以了解POST方法。

这是HTTPPost 方法源代码的最佳示例。

于 2013-03-25T13:36:31.040 回答