zoukankan      html  css  js  c++  java
  • ASIHttpRequest加载网络数据和上传数据功能

    使用ASIHttpRequest第三库,需要配置

    二,

    上传数据功能使用ASIFromDataRequest(可以上传二进制和字符串给服务器)

    下面来牛刀小试

    //建立一个工程,导入第三方库,在AppDelegate.h
    #import <UIKit/UIKit.h>
    #import "ASIFormDataRequest.h"
    @interface AppDelegate : UIResponder <UIApplicationDelegate,ASIHTTPRequestDelegate>
    {
        //声明数据请求的成员变量
        ASIFormDataRequest *_request;
    }
    @property (strong, nonatomic) UIWindow *window;
    
    @end
    //在AppDelegate.m里写的代码
    
    //通过POST请求加载数据
    NSURL *url=[NSURL URLWithString:@"http://10.0.8.8/sns/my/login.php"];
    //实例化成对象
    _request=[[ASIFormDataRequest alloc]initWithURL:url];
    //设置请求方式
    [_request setRequestMethod:@"post"];
    //添加参数
    [_request addPostValue:@"aa_Zx" forKey:@"username"];
    [_request addPostValue:@"ffff" forKey:@"password"];
    //设置代理回调
    _request.delegate=self;
    //请求数据
    [_request startAsynchronous];//异步请求,多线程
    #param -mark ASIHttpRequest
    -(void)requestFinished:(ASIHTTPRequest *)request
    {
    NSDictionary *dict=[NSJSONSerialization  JSONObjectWithData:request.responseData options:NSJSONReadingMutableContainers error:nil];
       NSLog(@"%@",dict);
    
    }
    - (void)requestFailed:(ASIHTTPRequest *)request
    {
        NSLog(@"请求失败");
    }

     三,加载网络数据,ASIHttpRequest(所有格式的数据都能加载)

    -(void)startLoadWebData:(NSString *)strURL
    {
    //实例化ASIHttpRequest对象
    NSURL *url=[NSURL URLWithString:strURL];
    _request=[[ASIHTTPRequest alloc]initWithURL:url];
    _requent.delegate=self;
    //开始加载数据
    [_requenst startAsynchronous];
    }
    #pragma -mark ASIHttpRequestDelegate
    //请求成功时调用该方法
    -(void)requestFinished:(ASIHTTPRequest *)request
    {
    NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:request.responseData
    options:NSJSONReadingMutableContainers error:nil];
    //代理接收数据
    [self.delegate reciveData:[dict objectForKey:@"application"];
    }
    //请求网络数据失败时调用该方法
    -(void)requestFailed:(ASIHTTPRequest *)request
    {
    NSLog(@"failed");
    }
  • 相关阅读:
    c/c++ # and ## in macros以及宏debug
    postgresql unnamed statement
    postgresql/lightdb a [left/right] join b on true的含义
    openjdk、javafx各发行版
    lightdb for postgresql PL/pgSQL perform、execute、call区别
    postgresql有mysql兼容插件吗?
    各种互联网公司,不要再那么没有分寸的刷屏QPS/TPS/日活千万这些毫无意义的数据了
    PostgreSQL分布式数据库实践
    LightDB发布日常运维管理手册
    恒生电子发布金融分布式数据库LightDB
  • 原文地址:https://www.cnblogs.com/y16879w/p/4466699.html
Copyright © 2011-2022 走看看