iOS开发ASIHttpRequest发送请求

#pragma mark - 同步请求
- (void)sync
{
    // 1.创建请求对象
    NSURL *url = [NSURL URLWithString:@"http://192.168.x.x:8080/login?username=123&pwd=123"];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    request.timeOutSeconds = 10;

    // 2.发送请求
    [request startSynchronous];

    // 3.检测服务器返回的结果
    if (request.error) { // 请求出错(比如超时)
        NSLog(@"请求出错---%@", request.error);
    } else { // 请求成功
        NSLog(@"%d %@", request.responseStatusCode, request.responseStatusMessage);
        //        NSLog(@"%d", request.responseData.length);

        NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:request.responseData options:NSJSONReadingMutableLeaves error:nil];
        NSLog(@"%@", dict);
        //        NSLog(@"%@", request.responseString);
    }
}
#pragma mark - 异步请求--设置代理
- (void)async
{
    // 1.创建请求对象
    NSURL *url = [NSURL URLWithString:@"http://192.168.x.x:8080/login?username=123&pwd=123"];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    request.timeOutSeconds = 10;

//    NSURL *url2 = [NSURL URLWithString:@"http://192.168.1.200:8080/MJServer/video"];
//    ASIHTTPRequest *request2 = [ASIHTTPRequest requestWithURL:url2];

    // 2.设置代理
    request.delegate = self;
//    request2.delegate = self;

    [request setDidStartSelector:@selector(start)];

    // 3.发送请求
    [request startAsynchronous];
//    [request2 startAsynchronous];
}

- (void)start
{
    NSLog(@"start--------");
}

#pragma mark 代理方法
- (void)requestFinished:(ASIHTTPRequest *)request
{
    NSLog(@"requestFinished----");
//    request.responseData : 服务器返回的全部数据
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
    NSLog(@"requestFailed----");
}

- (void)requestStarted:(ASIHTTPRequest *)request
{
    NSLog(@"requestStarted----");
}

- (void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data
{
    NSLog(@"didReceiveData----");
}
#pragma mark - 异步请求--block
- (void)async
{
    // 1.创建请求对象
    NSURL *url = [NSURL URLWithString:@"http://192.168.x.x:8080/login?username=123&pwd=123"];
    self.request = [ASIHTTPRequest requestWithURL:url];
    self.request.timeOutSeconds = 10;

    // 2.设置block
    [self.request setStartedBlock:^{
        NSLog(@"setStartedBlock ----");
    }];

    [self.request setDataReceivedBlock:^(NSData *data) {
        NSLog(@"setDataReceivedBlock ----");
    }];

    [self.request setCompletionBlock:^{
        NSLog(@"setCompletionBlock ----");
    }];

//    self.request.delegate = self;

    // 3.发送请求
    [self.request startAsynchronous];

//    NSURL *url2 = [NSURL URLWithString:@"http://192.168.x.x:8080/"];
//    ASIHTTPRequest *request2 = [ASIHTTPRequest requestWithURL:url2];
//    [request2 setCompletionBlock:^{
//
//    }];
//
//    [request2 setDataReceivedBlock:^(NSData *data) {
//
//    }];
//    [request2 startAsynchronous];
}

post请求

#pragma mark - post请求
- (void)post2
{
    // 1.创建请求对象
    NSURL *url = [NSURL URLWithString:@"http://192.168.1.200:8080/MJServer/login"];
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

    // 2.添加请求参数(请求体中的参数)
    [request setPostValue:@"123" forKey:@"username"];
    [request setPostValue:@"999" forKey:@"pwd"];

    [request setCompletionBlock:^{
        NSLog(@"---请求完毕");
    }];

    // 3.发送请求
    [request startAsynchronous];
}

- (void)post
{
    // 1.创建请求对象
    NSURL *url = [NSURL URLWithString:@"http://192.168.1.200:8080/MJServer/login"];
    self.request = [ASIHTTPRequest requestWithURL:url];
    self.request.timeOutSeconds = 10;

    // 设置请求方法
    self.request.requestMethod = @"POST";

    // 设置请求体
    [self.request appendPostData:[@"username=123&pwd=123" dataUsingEncoding:NSUTF8StringEncoding]];
//    [self.request setPostLength:self.request.postBody.length];
//    [self.request addRequestHeader:[NSString stringWithFormat:@"%d", self.request.postBody.length] value:@"Content-Length"];
//    [self.request addRequestHeader:@"application/x-www-form-urlencoded" value:@"Content-Type"];

    // 2.发送请求
    [self.request startAsynchronous];
}
时间: 2024-10-15 09:32:03

iOS开发ASIHttpRequest发送请求的相关文章

IOS开发ASIFormDataRequest 发送请求

只用于发post请求 #pragma mark - post请求 - (void)post { // 1.创建请求对象 NSURL *url = [NSURL URLWithString:@"http://192.168.1.200:8080/Server/login"]; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; // 2.添加请求参数(请求体中的参数) [request setPos

iOS开发之网络请求(一)ASIHTTPRequest

全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大 基于底层的CFNetwork框架,运行效率很高 可惜作者早已停止更新,有一些潜在的BUG无人去解决 很多公司的旧项目里面都残留着它的身影,以前的很多iOS项目都是ASI + SBJson 会不会用ASI,可以算是检验是否为老牌iOS程序员的标准之一 ASI的github地址 https://github.com/pokeb/asi-http-request ASI的使用参考 http://www.cnblogs.com/d

iOS开发 - AFNetworking网络请求

AFNetworking 什么是AFN 全称是AFNetworking,是对NSURLConnection.NSURLSession的一层封装 虽然运行效率没有ASI高,但是使用比ASI简单 在iOS开发中,使用比较广泛 AFN的github地址 https://github.com/AFNetworking/AFNetworking AFHTTPRequestOperationManager 是AFN中最重要的对象之一 封装了HTTP请求的常见处理 GET\POST请求 解析服务器的响应数据

ios开发 ASIHTTPRequest类库

ASIHTTPRequest 是一个直接在CFNetwork上做的开源项目,提供了一个比官方更方便更强大的HTTP网络传输的封装.它的特色功能如下: 1,下载的数据直接保存到内存或文件系统里 2,提供直接提交(HTTP POST)文件的API 3,可以直接访问与修改HTTP请求与响应HEADER 4,轻松获取上传与下载的进度信息 5,异步请求与队列,自动管理上传与下载队列管理机 6,认证与授权的支持 7,Cookie 8,请求与响应的GZIP 9,代理请求 1, 添加ASIHTTPRequest

IOS开发 App HTTP 请求失败

IOS开发 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file. xcode自7后不再使用http,而是使用https请求,但目前很多网络请求还只是以http请求,我们可以这样解决 info.plist->添加@&quo

iOS开发-邮件发送

Web开发的时候邮箱注册登录是必不可少的,手机号可以更换,不过相对而言,邮箱只是用于比较重要的时候用到,比如找工作的时候必填的邮箱,注册网站会员的邮箱验证.现在的手机和Web的其实操作是一样的,大多数情况还是邮件的发送,iOS上有两种邮件发送的方式,一种是使用内置的MFMailComposeViewController发送邮件,第二种就是通过第三方类库SKPSMTPMessage发送邮件(https://github.com/jetseven/skpsmtpmessage). MFMailCom

iOS开发 支持https请求以及ssl证书配置(转)

原文地址:http://blog.5ibc.net/p/100221.html 众所周知,苹果有言,从2017年开始,将屏蔽http的资源,强推https 楼主正好近日将http转为https,给还没动手的朋友分享一二 一.证书准备 1.证书转换 在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句 // openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der 这样你就可以得到cer类型的证书了.双击,导入电脑. 2.证书放入工程 1

iOS开发之网络请求(基于AFNetworking的再封装)

最近一直很忙也没有什么时间写博客了.放假了休息一下,就写一篇博客来总结一下最近做项目中出现过的问题吧!!! 首先,在项目中我的起到了什么作用,无非就是把美工(UI设计师)给我们的图显示出来,然后再和服务器进行交互. 那个我们和服务器怎么交互呢?最简单的方式就是说话呗,但是我们要跟服务器说话必须通过我们彼此能听的懂的话来交流,也就需要制定很多的协议了(http,tcp,udp等,这个有兴趣的朋友可以了解一下网络协议的东西).但是我平常最常使用的还是http协议. http://www.cnblog

ios开发之发送UDP广播并接收数据

用了asyncUdpSocket, 服务端在接收到广播后,就会做出回应,然后就可以开始通讯了. - (void)init{ AsyncUdpSocket *socket=[[AsyncUdpSocketalloc]initWithDelegate:self]; [socketlocalPort:16747]; NSTimeInterval timeout=5000; NSString *[email protected]"quick_stat"; NSData *data=[NSDat