[iOS 多线程 & 网络 - 2.9] - ASI框架



/** get请求 */
- (void)sendByGet{
// 创建请求
NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login?user=tom&password=123"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; // 设置请求
request.timeOutSeconds = ; // 超时时间
request.delegate = self; // 使用selector处理请求返回数据
[request setDidStartSelector:@selector(startRequest)]; // 发送请求
[request startSynchronous]; // 同步请求
} /** 请求开始 */
- (void) startRequest
NSLog(@"请求开始")
}
- (void) sendByPost2 {
// 创建请求
NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login"];
self.formRequest = [ASIFormDataRequest requestWithURL:url];
// 添加请求参数
[self.formRequest addPostValue:@"tom" forKey:@"user"];
[self.formRequest addPostValue:@"" forKey:@"password"];
self.formRequest.completionBlock = ^ {
NSLog(@"请求完毕");
};
// 发送请求
[self.formRequest startAsynchronous];
}

// 发送请求
[request startSynchronous]; // 同步请求
// [request startAsynchronous]; // 异步请求
- request.error
- request.responseStatusCode
- request.responseStatusMessage
- request.responseData
- request.responseString
if (request.error) {
NSLog(@"请求出错");
}
/** get请求 */
- (void)sendByGet{
// 创建请求
NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login?user=tom&password=123"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; // 设置请求
request.delegate = self;
// 发送请求
[request startAsynchronous]; // 异步请求
} #pragma mark - ASIHTTPRequestDelegate
/** 使用代理处理请求事件 */
- (void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data {
NSLog(@"正在接受数据");
}
/** get请求 */
- (void)sendByGet{
// 创建请求
NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login?user=tom&password=123"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; // 设置请求
request.delegate = self; // 使用selector处理请求事件
[request setDidStartSelector:@selector(startRequest)];
// 发送请求
[request startAsynchronous]; // 异步请求
} /** 请求开始 */
- (void) startRequest {
NSLog(@"请求开始");
}
/** get请求 */
- (void)sendByGet{
// 创建请求
NSURL *url = [NSURL URLWithString:@"http://192.168.0.21:8080/MyTestServer/login?user=tom&password=123"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; // 设置请求
request.timeOutSeconds = ; // 超时时间
request.delegate = self; // 使用block处理请求事件
[request setCompletionBlock:^{
NSLog(@"请求完成!");
}]; // 发送请求
[request startAsynchronous]; // 异步请求
}
@interface ViewController () <ASIHTTPRequestDelegate>
@property(nonatomic, strong) ASIHTTPRequest *request;
@end #pragma mark - dealloc
/** 控制器销毁之前,一定要取消、清除成员request代理 */
- (void)dealloc {
[self.request clearDelegatesAndCancel];
self.request = nil;
}
[iOS 多线程 & 网络 - 2.9] - ASI框架的更多相关文章
- [iOS 多线程 & 网络 - 2.10] - ASI框架下载文件
A.ASI框架中的下载 1.实现步骤 在实际的开发中如果要使用asi框架来下载服务器上的文件,只需要执行下面简单的几个步骤即可. (1)创建请求对象:(2)设置下载文件保存的路径:(3)发送下载文件的 ...
- [iOS 多线程 & 网络 - 2.11] - ASI框架上传文件
A.ASI的上传功能基本使用 1.实现步骤 (1)创建请求 使用ASIFormDataRequest (2)设置上传文件路径 (3)发送请求 2.上传相册相片 UIImagePickerCon ...
- iOS开发网络篇—使用ASI框架进行文件下载
iOS开发网络篇—使用ASI框架进行文件下载 说明:本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: #import "YYViewCo ...
- [iOS 多线程 & 网络 - 4.0] - AFN框架简单使用
A.AFN基本知识 1.概念 AFNetworking 是对NSURLConnection的封装 运行效率没有ASI高(因为ASI基于CFNetwork),但是使用简单 AFN支持ARC B. ...
- [iOS 多线程 & 网络 - 2.0] - 发送接收 服务器信息
A.搭建java服务器 使用eclipse.tomcat和struts2框架搭建一个简单的服务器 1.准备好合适版本的JDK.eclipse EE.tomcat.struts2 框架包 2.配置JDK ...
- [iOS 多线程 & 网络 - 1.0] - 多线程概述
A.进程 什么是进程进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcode,系统就会分别启动2个进程 通过"活 ...
- AJ学IOS(55)多线程网络之图片下载框架之SDWebImage
AJ分享,必须精品 效果: 代码: - (NSArray *)apps { if (!_apps) { NSArray *dictArray = [NSArray arrayWithContentsO ...
- [iOS 多线程 & 网络 - 2.8] - 检测网络状态
A.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的:(1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能)(2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 ...
- [iOS 多线程 & 网络 - 2.3] - 解析xml
A.XML基本知识 1.xml概念 什么是XML全称是Extensible Markup Language,译作“可扩展标记语言”跟JSON一样,也是常用的一种用于交互的数据格式一般也叫XML文档(X ...
随机推荐
- 面试题_125_to_133_Java 面试中其他各式各样的问题
这部分包含 Java 中关于 XML 的面试题,JDBC 面试题,正则表达式面试题,Java 错误和异常及序列化面试题 125)嵌套静态类与顶级类有什么区别?(答案)一个公共的顶级类的源文件名称与类名 ...
- 1450. Russian Pipelines(spfa)
1450 水题 最长路 #include <iostream> #include<cstdio> #include<cstring> #include<alg ...
- Oracle的rownum原理和使用(整理几个达人的帖子)
整理和学习了一下网上高手关于rownum的帖子: 参考资料: http://tech.ddvip.com/2008-10/122490439383296.html 和 http://tenn.jav ...
- HDU 3467 (求五个圆相交面积) Song of the Siren
还没开始写题解我就已经内牛满面了,从晚饭搞到现在,WA得我都快哭了呢 题意: 在DotA中,你现在1V5,但是你的英雄有一个半径为r的眩晕技能,已知敌方五个英雄的坐标,问能否将该技能投放到一个合适的位 ...
- LeetCode Contains Duplicate II (判断重复元素)
题意:如果有两个相同的元素,它们之间的距离不超过k,那么返回true,否则false. 思路:用map记录每个出现过的最近的位置,扫一边序列即可.扫到一个元素就判断它在前面什么地方出现过.本题数据有点 ...
- Android中ListView嵌套进ScrollView时高度很小的解决方案
package com.example.test.util; import android.view.View; import android.view.ViewGroup; import andro ...
- Struts2的OGNL标签详解
一.Struts2可以将所有标签分成3类: UI标签:主要用于生成HTML元素的标签. 非UI标签:主要用于数据库访问,逻辑控制等标签. Ajax标签:用于Ajax支持的标签. 对于UI标签,则有可以 ...
- Android studio 下JNI编程实例并生成so库
Android studio 下JNI编程实例并生成so库 因为公司需要为Android相机做美颜等图像后期处理,需要使用JNI编程,最近学了下JNI,并且在Android Studio下实现了一个小 ...
- Delphi 自带的那个 Hand 光标很难看?没关系,一行代码解决问题:
Delphi 自带的那个 Hand 光标很难看?没关系,一行代码解决问题: Screen.Cursors[crHandPoint] := LoadCursor(0, IDC_HAND);放在主窗体 O ...
- Arrays.asList引起的惨案
最近代码中需要对两个数组求交,想当然便用到了List中的retainAll函数,但要将将数组转换成list.代码如下: String[] abc = new String[] { "abc& ...