iOS 中客户端和服务器的 Web Service 网络通信 (1)
当你打开你手机上新浪微博应用或者知乎应用是,你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过怎样的方法实现的?好,那么接下来就介绍是如何实现的,过程又是怎么样的。
当我们浏览着关注或者好友的微博时,那些图片和数据不是凭空出现的,而是通过你的客户端向服务器请求后由新浪微博的服务器返回本地所获得,通过数据的解析就能够在客户端上进行显示,甚至是操作。而这些,就是我们通常所说的 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 请求的主要方法。
- -(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”)。
iOS 中客户端和服务器的 Web Service 网络通信 (1)相关推荐
- iOS 中客户端和服务器的 Web Service 网络通信
当你打开你手机上新浪微博应用或者知乎应用是,你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过怎样的方法实现的?好,那么接下来就介绍是如何实现的,过程又是怎么样的. 当我们浏览着 ...
- iOS 中client和server的 Web Service 网络通信 (1)
当你打开你手机上新浪微博应用或者知乎应用是.你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过如何的方法实现的?好.那么接下来就介绍是如何实现的.过程又是怎么样的. 当我们浏览着 ...
- 用JQuery中的Ajax方法获取web service等后台程序中的方法
用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...
- odoo系统的web服务器,Odoo Web Service API
Odoo Web服务暴露出相关的服务,路由分别是 /xmlrpc/ /xmlrpc/2/ /jsonrpc 根据 services 调用 后端对应服务的 方法method [定义 openerp\ht ...
- AXIS2客户端代码连接C#web service带ntlm认证
搞了两天的AXIS2连接带ntlm认证的web service,要吐血了,百度一堆,不是故作神秘的讲一大堆,就是代码给一半,装吧.... 国人就是,知道的不愿意说,说也只说一半,不知道的又装知道,真是 ...
- 在Atlas服务器端实现中推荐使用Web Service而不是Page Method
English Version: http://dflying.dflying.net/1/archive/107_prefer_web_services_to_page_methods_in_atl ...
- 在 Visual Studio 2010 中创建 ASP.Net Web Service
第一步:创建一个"ASP.Net Empty Web Application"项目 第二步:在项目中添加"Web Service"新项目 第一步之后,Visua ...
- 银光中国网免费Silverlight空间Web Service部署方法
银光中国网为方便大家学习Silverlight技术,特别推出Silverlight免费空间服务.看到论坛上有不少开发人员询问在部署WCF或者Web Service应用时出现异常,无法部署成功,这里我做 ...
- 自我认为挺全面的【Web Service渗透测试总结】
一.Web Service基础 Web Service简介 Web Service是一个平台独立的.低耦合的.自包含的.基于可编程的Web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集) ...
最新文章
- 马云的 ATM 梦实现了
- git merge --squash改写提交
- redis安装,redis项目以来,redis和spring整合,redis的service,redis的service实现类
- java项目 配置文件_细数Java项目中用过的配置文件(properties篇)
- Linux SSH远程管理故障如何排查?
- 代码中有个get是啥意思_是时候秀一波了,甩掉get和set,Lombok让代码更简洁
- 程序员35岁辞职后都做了什么工作三位过来人透露了实情,引热议
- vSAN其实很简单-什么!vSAN主机启动慢?
- t–sql pl–sql_SQL Server性能疑难解答的DBA指南–第2部分–监视实用程序
- 使用函数计算打包下载OSS文件
- Qt QT的I/O流 QT输入输出
- Educational Codeforces Round 63 (Rated for Div. 2) D. Beautiful Array(动态规划.递推)
- 【BZOJ5336】【TJOI2018】party
- 怎么样用计算机打字,如何使用电脑键盘练习打字【拼音打字】
- 苹果服务器怎么配置文件,苹果CMS数据库配置文件在哪
- Android Studio适配Mac M1
- python xlsm_Excel中的xls、xlsx、xlsm混合文件,看我如何用Python统一处理!
- ios课堂派怎么提交附件_iOS怎么在课堂派上传文件?
- iOS基础:【屏幕成像与卡顿】屏幕撕裂 Screen Tearing、 掉帧 Jank、三缓冲 Triple Buffering
- NPOI导出EXCEL 打印设置分页及打印标题
热门文章
- SkeyePlayer RTSP/RTMP流媒体超低延迟播放器源码解析系列之H264一帧多NAL写MP4录像花屏问题解决方案
- 什么是CDN?Gcorelabs CDN服务简单介绍
- Mybatis多租户插件
- 亿华通寻路:“氢”能之火,何以燎原?
- 微信小程序https端口指定(非443)
- echarts图表(可视化)的简单使用(推荐)
- HBuilderX无法启动微信小程序?请看步骤
- 弘玑Cyclone成功入围《2022爱分析·流程挖掘厂商全景报告》,流程智能产品受到广泛关注
- 页面锚点链接点击平滑滚动
- 菜鸟学设计模式之一思想准备