IOS ASIFormDataRequest使用简介

来源:互联网 发布:ce怎么修改游戏数据 编辑:程序博客网 时间:2024/05/22 11:46

ASIHTTPRequest类库中的ASIFormDataRequest是实现HTTP协议中的处理POST表单的很好的类库。使用起来非常简单。

下面简要总结其用法。

在说明之前先需要了解HTTP请求的Get和Post方法。

Get方法一般是从服务器获取数据,而Post方法主要是向服务器传输一些数据。

Get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到完整的URL请求。ASIHTTPRequest类主要完成Get请求。

Post方法是将表单内各个字段与其内容放置在HTML HEADER内传送到ACTION属性所指的URL地址。用户看不到这个过程。

ASIFormDataRequest类主要完成Post请求。关于ASIHTTPRequest类库的安装配置详见《ASIHTTPRequest的环境配置和使用示例

1,构造请求需要包含头文件:#import "ASIFormDataRequest.h"ASIFormDataRequest *request;           request=[ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://www.tekuba.net"]];//构造请求           [request setPostValue:emailFiled.text forKey:@"Mail"];[request setPostValue:accountFiled.text forKey:@"UserAccount"];//帐户[request setPostValue:[self md5:passwordFiled.text] forKey:@"PassWord"];//密码[request setDelegate:self];//配置代理为本类[request setTimeOutSeconds:10]; //设置超时       [request setDidFailSelector:@selector(urlRequestFailed:)];[request setDidFinishSelector:@selector(urlRequestSucceeded:)];[request startSynchronous];//同步传输//[request startAsynchronous];//异步传输


2,实现数据处理方法

//连接失败-(void)urlRequestFailed:(ASIHTTPRequest *)request{    NSError *error =[request error];    NSLog(@"%@",error);    NSLog(@"连接失败!");    UIAlertView * alt=[[UIAlertView alloc] initWithTitle:@"提示" message:@"连接失败" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];    [alt show];    [alt release];}//请求成功-(void)urlRequestSucceeded:(ASIHTTPRequest *)request{    NSData *data=[request responseData];    NSXMLParser *parser=[[NSXMLParser alloc] initWithData:data];    NSLog(@"data length = %d",[data length]);    NSLog(@"xml data = %@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);    [parser setDelegate:self];    [parser parse];//进入解析}


0 0