网络请求

来源:互联网 发布: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

getpost 请求方式的区别

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方式可能更加好的理解,逻辑控制上更清晰



0 0
原创粉丝点击