iOS 中client和server的 Web Service 网络通信 (1)

当你打开你手机上新浪微博应用或者知乎应用是。你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过如何的方法实现的?好。那么接下来就介绍是如何实现的。过程又是怎么样的。

     当我们浏览着关注或者好友的微博时。那些图片和数据不是凭空出现的,而是通过你的client向server请求后由新浪微博的server返回本地所获得,通过数据的解析就行在client上进行显示,甚至是操作。而这些,就是我们通常所说的 Web Service。

Web Service
技术是一种通过 Web 协议提供服务,保证不同平台的应用服务能够互操作,为client应用提供不同的服务。眼下主流的 Web Service 技术有三种:REST、SOAP 和 XML-RPC。如今主要介绍的是 REST Web Service。

     REST 被翻译为“表征状态转移”,“表征”是client看到的页面,页面的跳转就是状态的转移,client通过请求 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 是属于本地解析。如今是从server请求回返回数据进行解析,接下来看一下 Web Service 请求的主要方法。

-(void)startRequest
{

    NSString *strURL = [[NSString alloc] initWithFormat:
                        @"请求的server地址"];

	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”)。

时间: 2024-10-10 09:52:07

iOS 中client和server的 Web Service 网络通信 (1)的相关文章

iOS 中client和server的 Web Service 网络通信 (2)

在实际的应用开发过程中,同步请求的用户体验并非非常好:我们都知道.Apple是非常重视用户体验的.这一点也成为了行业的标杆,没实用户哪里来的好产品.所以用户体验是极其重要的.貌似废话有点多.接下来进入正题.同步请求不好.那么就使用异步请求的方法.在开发中,异步请求会使用 NSURLConnetction 类的托付协议 NSURLConnectionDelegate.在请求不同阶段会回调托付对象方法,详细方法例如以下: connection:didReceiveData: 当请求成功时,这种方法就

iOS 中客户端和服务器的 Web Service 网络通信 (2)

在实际的应用开发过程中,同步请求的用户体验并不是很好:我们都知道,Apple是很重视用户体验的,这一点也成为了行业的标杆,没有用户哪里来的好产品,所以用户体验是极其重要的.貌似废话有点多,接下来进入正题.同步请求不好,那么就使用异步请求的方法.在开发中,异步请求会使用 NSURLConnetction 类的委托协议 NSURLConnectionDelegate.在请求不同阶段会回调委托对象方法,具体方法如下: connection:didReceiveData: 当请求成功时,这个方法就会开始

iOS 中客户端和服务器的 Web Service 网络通信

当你打开你手机上新浪微博应用或者知乎应用是,你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过怎样的方法实现的?好,那么接下来就介绍是如何实现的,过程又是怎么样的. 当我们浏览着关注或者好友的微博时,那些图片和数据不是凭空出现的,而是通过你的客户端向服务器请求后由新浪微博的服务器返回本地所获得,通过数据的解析就能够在客户端上进行显示,甚至是操作.而这些,就是我们通常所说的 Web Service.Web Service 技术是一种通过 Web 协议提供服务,保证不同平台的应用服务可以

Error in WCF client consuming Axis 2 web service with WS-Security UsernameToken PasswordDigest authentication scheme

13down votefavorite 6 I have a WCF client connecting to a Java based Axis2 web service (outside my control). It is about to have WS-Security applied to it, and I need to fix the .NET client. However, I am struggling to provide the correct authenticat

iphone ios 用xcode4.2开发 访问web service的功能

http://blog.csdn.net/panyaorui/article/details/8622990 1.后台利用 cxf 构建一个web service服务. HelloWorld.java [java] view plaincopy /** * */ package com.alcor.jws.test; import javax.jws.WebMethod; import javax.jws.WebService; import org.apache.cxf.feature.Fea

UDP编程中client和server中使用recvfrom和sendto的区别

client中:      sendto(sfd,buf,strlen(buf),0,(struct sockaddr *)&saddr,len);      recvfrom(sfd,buf,sizeof(buf),0,NULL,NULL);server中:      recvfrom(fd,buf,sizeof(buf),0,(struct sockaddr *)&caddr,&len); 将网络字节序的IP地址转换成字符串输出 // inet_ntoa : struct ip

项目中使用WCF替换asmx Web service总结

以前项目解决方案中,用http协议的asmx Web service作服务器数据访问入口,在SoapHeader中写入用户名和加盐密码进行身份认证. 但http asmx服务都是明文传输,数据在传输过程中很容易被截取.篡改.在内网使用.用户量小.安全问题不严重时可以采用. 因项目发展,需要对服务器进行改造,升级成更高级的安全方式. 最先想到的是将http协议改用https,解决数据明文传输和有可能被篡改问题. 但是,https传输存在两个问题:1是客户机要安装证书,2是运行环境中客户机与服务器之

iOS中基于 Socket 的 C/S 结构网络通信(中)

结合上一篇的知识,接下来将介绍基于 TCP 协议的 Socket  编程:由于 Socket 需要有客户端和服务端,那么现在实现的是关于服务端的简单程序.服务端采用的是CFStream 类来实现的.      这个服务端是把Xcode中的 Command Line Tool 来作为服务端的:当然,你也可以把 iPhone 作为服务端,但是要利用其他的框架,比如 AsyncSocket (https://github.com/roustem/AsyncSocket) ,里面有分为 UDP 和 TC

基于Maven在Spring中集成CXF Web Service框架

引言: 在跨系统和跨平台的系统通信中,WebService是一个事实上的标准,其以平台无关性,获得了广泛的应用.本文将讲述如何基于Spring来集成CXF,并开发出第一个Hello World的应用. 1.  Web Service是什么? Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式的互操作的应用程序. Web Service技术, 能使