iOS 中客户端和服务器的 Web Service 网络通信 (1)
2015-11-09 23:44
323 查看
当你打开你手机上新浪微博应用或者知乎应用是,你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过怎样的方法实现的?好,那么接下来就介绍是如何实现的,过程又是怎么样的。
当我们浏览着关注或者好友的微博时,那些图片和数据不是凭空出现的,而是通过你的客户端向服务器请求后由新浪微博的服务器返回本地所获得,通过数据的解析就能够在客户端上进行显示,甚至是操作。而这些,就是我们通常所说的 Web Service。Web Service
技术是一种通过 Web 协议提供服务,保证不同平台的应用服务可以互操作,为客户端应用提供不同的服务。目前主流的 Web Service 技术有三种:REST、SOAP 和 XML-RPC。现在主要介绍的是 REST Web Service。
REST 被翻译为“表征状态转移”,“表征”是客户端看到的页面,页面的跳转就是状态的转移,客户端通过请求 URI 获得要显示的页面。REST 通常是基于 HTTP、URI 和 XML 以及 HTML 等这些现有的协议和标准。
REST Web Service 是一个使用 HTTP 并遵循 REST 原则的 Web Service。请求 Web Service 使用 URI 定位资源。与 Web Service 的数据交换格式使用JSON 和 XML 等非常灵活。Web Service 所支持的 HTTP 请求方法,包括 POST、GET、PUT或DELETE 等。
同步 GET 方法实现的请求:
上一篇关于 JSON 是属于本地解析,现在是从服务器请求回返回数据进行解析,接下来看一下 Web Service 请求的主要方法。
[objc] view
plaincopy
-(void)startRequest
{
NSString *strURL = [[NSString alloc] initWithFormat:
@"请求的服务器地址"];
NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSLog(@"请求完成...");
NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
[self reloadView:resDict];
}
initWithFormat:方法指定请求的 URL ,这是 URL 的所指向的 Web Service。下一行代码是使用上面的 strURL 字符串创建
NSURL 对象,参数是[strURL URLEncodedString],strURL 字符串又调用了 URLEncodedString 方法将字符串转换为 URL 字符串,在 Internet 传输的时候 URL 中不能有中文等特殊字符出现。使用该方法就是把这些字符转换为有百分号的 URL 编码(“<”符号的 URL 编码是 “%3C”)。
当我们浏览着关注或者好友的微博时,那些图片和数据不是凭空出现的,而是通过你的客户端向服务器请求后由新浪微博的服务器返回本地所获得,通过数据的解析就能够在客户端上进行显示,甚至是操作。而这些,就是我们通常所说的 Web Service。Web Service
技术是一种通过 Web 协议提供服务,保证不同平台的应用服务可以互操作,为客户端应用提供不同的服务。目前主流的 Web Service 技术有三种:REST、SOAP 和 XML-RPC。现在主要介绍的是 REST Web Service。
REST 被翻译为“表征状态转移”,“表征”是客户端看到的页面,页面的跳转就是状态的转移,客户端通过请求 URI 获得要显示的页面。REST 通常是基于 HTTP、URI 和 XML 以及 HTML 等这些现有的协议和标准。
REST Web Service 是一个使用 HTTP 并遵循 REST 原则的 Web Service。请求 Web Service 使用 URI 定位资源。与 Web Service 的数据交换格式使用JSON 和 XML 等非常灵活。Web Service 所支持的 HTTP 请求方法,包括 POST、GET、PUT或DELETE 等。
同步 GET 方法实现的请求:
上一篇关于 JSON 是属于本地解析,现在是从服务器请求回返回数据进行解析,接下来看一下 Web Service 请求的主要方法。
[objc] view
plaincopy
-(void)startRequest
{
NSString *strURL = [[NSString alloc] initWithFormat:
@"请求的服务器地址"];
NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSLog(@"请求完成...");
NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
[self reloadView:resDict];
}
initWithFormat:方法指定请求的 URL ,这是 URL 的所指向的 Web Service。下一行代码是使用上面的 strURL 字符串创建
NSURL 对象,参数是[strURL URLEncodedString],strURL 字符串又调用了 URLEncodedString 方法将字符串转换为 URL 字符串,在 Internet 传输的时候 URL 中不能有中文等特殊字符出现。使用该方法就是把这些字符转换为有百分号的 URL 编码(“<”符号的 URL 编码是 “%3C”)。
相关文章推荐
- TCP报文段、UDP数据报、IP数据报区别
- lua开发之--mysql和http模块
- Java基础(14):网络编程之socket
- Linux网络相关设置
- 计算机网络复习 -- 概念梳理
- Java基础知识 十六 (网络编程)
- HttpCache in android
- WEB服务器、应用程序服务器、HTTP服务器区别
- TCP 协议学习小结
- http状态码一览表404 502 503等
- 华硕(ASUS)X554LP笔记本在64位win7下无线网络连接问题
- HttpClient 讲解 (2) 项目封装
- Node.js实践HTTP安全认证之三~~摘要认证(实践)
- HttpClient 讲解 (1) 基础
- TCP/IP详解学习笔记(3)-- IP:网际协议
- TCP/IP详解学习笔记(2)-- 数据链路层
- TCP/IP详解学习笔记(1)-- 概述
- java基础第23天(udp数据传输与tcp数据传输)
- Windows Azure Affinity Groups (3) 修改虚拟网络地缘组(Affinity Group)的配置
- 理解TCP为什么需要进行三次握手(白话)