网络请求
来源:互联网 发布:c语言布尔类型头文件 编辑:程序博客网 时间:2024/05/03 04:23
NSURL *url = [ NSURL URLWithString:@“远程地址”];
NSString *content = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSURL *url = [NSURL URLWithString:@“远程地址”];
NSData *data = [NSData dataWithContentsOfURL:url];
NSString经常用于获取文本内容,NSData经常用于二进制内容(图片,音频等)
使用Reachability来实现网络检测
网络连接类型
ios进行网络连接时有两张方式,同步连接和异步连接
同步连接,发送同步请求则停止用户交互,知道服务器返回数据;
异步连接时,一面界面不会停止用户交互,程序继续响应用户操作
连接:
NSString *path = @“资源地址”;
NSURL *url = [[NSURL alloc]initWithString:path];
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url];
同步:
NSURLResponse *response = nil;
NSError *error = nil;
NSData *receiveData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
//执行下面的前提是前面的连接请求必须完成
UIImage *image = [UIImage imageWithData:receiveData];
异步:
/*
第一参数为请求对象
第二为异步请求所在线程执行的操作队列
第三为异步请求完成后执行的代码段
*/
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc]init]completionHandler:
^(NSURLResponse *response,NSData *data,NSError *error)
{
//异步请求完成,取得响应的数据
//代码段第一个参数为响应对象,第二个为接收到的数据,第三为错误对象
UIImage *image = [UIImage imageWithData : data];
}
//后面的代码不会等待请求完成才执行
HTTP网络请求类型
GET POST( PUT DELETE)
get和post 请求方式的区别
1.GET 是用来从服务器上获得数据,而POST是用来想服务器上传递数据
2.GET将表单中数据的按照 variable = value的形式 ,添加到所请求连接的URL后面,与URL之间用“?”连接,各个变量之间用”&”连接’
POST是将变量和值相对应然后附加到请求体中,传递到请求连接的URL;
3.GET不安全,POST是将数据附加到请求体,所有操作对用户来讲是不可见的
4.GET传输数据小(主要受URL长度限制)POST可以传输大量数据,所以在上传文件只能使用POST方式请求
5.GET一般限制数据的编码必须为ASCII字符,POST支持整个ISO10646字符集
XML解析
XML解析一般分为两种方式进行解析,一种是基于DOM的解析方式,一种是基于SAX。
DOM 解析XML时,读入整个XML文档并构建iGetter驻留内存的树结构(节点树)通过便利树结构可检索任意XML节点,读取他爹属性和值
SAX 基于事件通知模式,一边读取XML文档一边处理,当在读取解析过程中遇到需要处理的对象,会发出通知对其进行处理,ios自带XML解析类库NSXMLParse基于SAX的,
SAX(一般解析大量数据)事实上,手机开发中不会有太大量的数据进行处理,使用DOM方式可能更加好的理解,逻辑控制上更清晰
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 网络请求
- 使用SAX解析XML文件
- nodejs(数据查询功能2)
- Jasperreport 输出pdf格式和html格式
- Hadoop2.0新特性
- 匈牙利算法详解
- 网络请求
- BZOJ 2438 [中山市选2011] 杀人游戏 (图的联通,tarjan)
- 机房收费系统重构版:那个系统我们一起遇到的问题
- 常用的Jquery插件写法
- InetAddress创建对象的方法
- 《stl源码剖析》--序列式容器
- 面试题
- DocumentRoot [xxx/apache2.2/docs/dummy-host.rudder.com
- 命令参数行