QSHttp-OC 1.1.1

QSHttp-OC 1.1.1

wuqiushan 维护。



QSHttp-OC 1.1.1

  • apple

image

Build Status License language language

概述

为了简化后期手机客户端与服务器调试,特对此进行了各个环境的封装,本仓库为 iOS 版本,其它还有 Java(安卓通用)版本、服务器版本。

特点

  • 采用多线程异步请求机制
  • 支持请求的 URL 带有中文

进度

  • 完成基本的 GET、POST、上传、下载等操作
  • 完成 delegate 向 block 的转换
  • 完成上传、下载的实时进度
  • 支持无网通知

安装方法

使用 cocoapods

pod 'QSHttp-OC', '~> 1.1.1'

使用方法

GET 方法的示例:

- (void)get_http {
    
    QSHttpManage *mange = [[QSHttpManage alloc] init];
    [mange GET:@"http://www.eechot.ga/server/QSHttp/GET/天气" param:nil success:^(id  _Nonnull rspObject) {
        NSLog(@"响应数据  %@", rspObject);
    } failure:^(NSError * _Nonnull error) {
        NSLog(@"失败 %@", error);
    }];
}

POST 方法的示例:

- (void)post_http {
    
    QSHttpManage *mange = [[QSHttpManage alloc] init];
    [mange POST:@"http://www.eechot.ga/server/QSHttp/POST" param:nil success:^(id  _Nonnull rspObject) {
        NSLog(@"响应数据  %@", rspObject);
    } failure:^(NSError * _Nonnull error) {
        NSLog(@"失败 %@", error);
    }];
}

下载文件示例:

- (void)download_http {
    
    QSHttpManage *mange = [[QSHttpManage alloc] init];
    [mange download:@"http://www.eechot.ga/server/QSHttp/Download" param:nil storagePath:@"/Users/yyd-wlf/Desktop/QSHttpFile" progress:^(float progress) {
        
        int progressInt = progress * 100;
        NSLog(@"下载进度 %d%%", progressInt);
        
    } success:^(id  _Nonnull rspObject) {
        NSLog(@"响应数据  %@", rspObject);
    } failure:^(NSError * _Nonnull error) {
        NSLog(@"失败 %@", error);
    }];
}

上传数据 (NSData) 示例:

- (void)uploadData_http {
    
    QSHttpManage *mange = [[QSHttpManage alloc] init];
    NSData *data = [NSData dataWithContentsOfFile:@"/Users/yyd-wlf/Desktop/QSHttpFile/nginx-1.16.0.tar.gz"];
    [mange upload:@"http://www.eechot.ga/server/QSHttp/Upload" fileData:data progress:^(float progress) {
        
        int progressInt = progress * 100;
        NSLog(@"上传进度 %d%%", progressInt);
        
    } success:^(id  _Nonnull rspObject) {
        NSLog(@"响应数据  %@", rspObject);
    } failure:^(NSError * _Nonnull error) {
        NSLog(@"失败 %@", error);
    }];
}

上传文件示例:

- (void)uploadFile_http {
    
    QSHttpManage *mange = [[QSHttpManage alloc] init];
    [mange upload:@"http://www.eechot.ga/server/QSHttp/Upload" filePath:@"/Users/yyd-wlf/Desktop/QSHttpFile/nginx-1.16.0.tar.gz" progress:^(float progress) {
        
        int progressInt = progress * 100;
        NSLog(@"上传进度 %d%%", progressInt);
        
    } success:^(id  _Nonnull rspObject) {
        NSLog(@"响应数据  %@", rspObject);
    } failure:^(NSError * _Nonnull error) {
        NSLog(@"失败 %@", error);
    }];
}

许可证

所有源代码均根据MIT许可证进行许可。