iOS ASIFormDataRequest使用

//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄

一、概念

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的环境配置和使用示例》

二、代码实现

[objc]view plaincopy

1,构造请求

需要包含头文件:#import"ASIFormDataRequest.h"

ASIFormDataRequest*request;

request=[ASIFormDataRequestrequestWithURL:[NSURLURLWithString:@"http://www.tekuba.net"]];

//构造请求

[requestsetPostValue:emailFiled.textforKey:@"Mail"];

[requestsetPostValue:accountFiled.textforKey:@"UserAccount"];//帐户

[requestsetPostValue:[selfmd5:passwordFiled.text]forKey:@"PassWord"];//密码

[requestsetDelegate:self];

//配置代理为本类

[requestsetTimeOutSeconds:10];

//设置超时

[requestsetDidFailSelector:@selector(urlRequestFailed:)];

[requestsetDidFinishSelector:@selector(urlRequestSucceeded:)];

[requeststartSynchronous];//同步传输

//[request startAsynchronous];//异步传输

2,实现数据处理方法

[objc]view plaincopy

//连接失败

-(void)urlRequestFailed:(ASIHTTPRequest*)request

{

NSError*error =[requesterror];

NSLog(@"%@",error);

NSLog(@"连接失败!");

UIAlertView* alt=[[UIAlertViewalloc]initWithTitle:@"提示"message:@"连接失败"delegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil,nilnil];

[altshow];

[altrelease];

}

//请求成功

-(void)urlRequestSucceeded:(ASIHTTPRequest*)request

{

NSData*data=[requestresponseData];

NSXMLParser*parser=[[NSXMLParseralloc]initWithData:data];

NSLog(@"data length = %d",[datalength]);

NSLog(@"xml data = %@",[[NSStringalloc]initWithData:dataencoding:NSUTF8StringEncoding]);

[parsersetDelegate:self];

[parserparse];//进入解析

}

谢谢!!!

你可能感兴趣的:(iOS ASIFormDataRequest使用)