我正在寻找将一些数据发送到我的应用程序中的 html 网站的最佳解决方案。我的程序中有一些变量采用以下格式:
1 var1
2 var2
3 var3
4 var4
5 var5
等等。仅此而已。将其发送到网站的最佳方式是什么?
我正在寻找将一些数据发送到我的应用程序中的 html 网站的最佳解决方案。我的程序中有一些变量采用以下格式:
1 var1
2 var2
3 var3
4 var4
5 var5
等等。仅此而已。将其发送到网站的最佳方式是什么?
以下代码是用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设置
HTTPBody
urlrequest 的。[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
上述方法用于连接成功后的数据处理。