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 plain  copy
  1. 1,构造请求  
  2. 需要包含头文件:#import "ASIFormDataRequest.h"  
  3. ASIFormDataRequest *request;             
  4. request=[ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://www.tekuba.net"]];  
  5. //构造请求             
  6. [request setPostValue:emailFiled.text forKey:@"Mail"];  
  7. [request setPostValue:accountFiled.text forKey:@"UserAccount"];//帐户  
  8. [request setPostValue:[self md5:passwordFiled.text] forKey:@"PassWord"];//密码  
  9. [request setDelegate:self];  
  10. //配置代理为本类  
  11. [request setTimeOutSeconds:10];  
  12.  //设置超时         
  13. [request setDidFailSelector:@selector(urlRequestFailed:)];  
  14. [request setDidFinishSelector:@selector(urlRequestSucceeded:)];  
  15. [request startSynchronous];//同步传输  
  16. //[request startAsynchronous];//异步传输  


2,实现数据处理方法

[objc]  view plain  copy
  1. //连接失败  
  2. -(void)urlRequestFailed:(ASIHTTPRequest *)request  
  3. {  
  4.     NSError *error =[request error];  
  5.     NSLog(@"%@",error);  
  6.     NSLog(@"连接失败!");  
  7.     UIAlertView * alt=[[UIAlertView alloc] initWithTitle:@"提示" message:@"连接失败" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil nil];  
  8.     [alt show];  
  9.     [alt release];  
  10. }  
  11.   
  12. //请求成功  
  13. -(void)urlRequestSucceeded:(ASIHTTPRequest *)request  
  14. {  
  15.     NSData *data=[request responseData];  
  16.     NSXMLParser *parser=[[NSXMLParser alloc] initWithData:data];  
  17.     NSLog(@"data length = %d",[data length]);  
  18.     NSLog(@"xml data = %@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);  
  19.     [parser setDelegate:self];  
  20.     [parser parse];//进入解析  
  21. }  

谢谢!!!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值