UI_网络编程
- HTTP协议的概念
- iOS平台如何实现HTTP协议的请求
- 服务器接口的简单介绍
HTTP协议的概念
iOS实现网络编程
HTTP协议请求如何实现
- 网络请求地址对象NSURL
- 网络请求对象NSURLRequest、NSMutableURLRequest
- 网络链接对象NSURLConnection
- 网络链接协议 NSURLConnectionDelegate
- 网络请求数据信息NSURLResponse
NSURL
- URL:统一资源定位符,也被称为网址,因特网上标准的资源网址
- 一个典型的URL:http://lily:123456@www.google.com/search?hl=en&source=hp&q=mysql&aq=f&oq=&aqi=g10#page
- url的符语法:协议://授权/路径?查询
- 协议:ftp://(文本传输协议) http://(超文本传输协议) https://(安全超文本传输协议) file://(本地文件协议)
- URL作为网址字符串包含很多请求参数,NSURL对网址字符串进行封装,可以使用NSURL对象获取相应的参数。
- absoluteString:http://lily:123456@www.google.com/search?hl=en&source=hp&q=mysql&aq=f&oq=&aqi=g10#page
- scheme:http
- host:www.google.com
- user:lily
- password:123456
- port:8080
- query:hl=en&source=hp&q=mysql&aq=f&oq=&aqi=g10#page
请求方式:GET、POST
相同点:都能给服务器传输数据
不同点:
- 给服务器传输数据的方式
- GET:通过网址字符串
- POST:通过data
- 传输数据的大小
- GET:网址字符串最多255字节
- POST:使用NSData,容量超过1G
- 安全性
- GET:所有传输给服务器的数据,显示在网址里,类似于密码的明文输入,直接可见。
- POST:数据转换成NSData(二进制数据),类似于密码的密文输入,无法直接读取
连接方式:同步连接、异步连接
同步连接:程序容易出现假(卡)死现象
异步连接:等待数据返回
异步连接有两种实现方式 :
设置代理,接收数据
实现block
同步连接
1 + (NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse **)response error:(NSError **)error;
异步连接(代理)
- 设置NSURLConnection代理
- 实现相应的代理方法:开始响应接收数据、接收数据、成功、失败
1 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;
2 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
3 - (void)connectionDidFinishLoading:(NSURLConnection *)connection;
4 - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
异步连接(block)
1 + (void)sendAsynchronousReauest:(NSURLRequest *)request queue:(NSOperationQueue *)queue completionHandler:(void (^)(NSURLResponse *response, NSData *data, NSError *connectionError))handler;
NSURLResponse
根据网络请求协议,封装了服务器返回数据的部分信息。服务器 响应网络请求后,返回数据的部分信息及数据本身。
1 expectedContentLength
2 suggestedFilename
3 MIMEType
4 textEncodingName
5 URL
NSHTTPURLResponse
NSURLResponse的子类,封装有关HTTP协议的响应信息。存储了HTTP协议的响应头信息,状态码。
1 allHeaderFields
2 statusCode
如果网络请求时使用HTTP协议,NSURLResponse就是NSHTTPURLResponse
服务器接口的简单介绍
PHP接口的简单实现
网络请求方式分为:GET、POST,是由服务器的实现方式决定,分为:GET、POST、GET或POST
服务器端PHP简单接口
PHP中使用不同的函数获取数据,支持不同的请求方式:
GET请求:使用$_GET["key"]获取数据网址中的数据
POST请求:使用$_POST["key"]获取上传data中的数据
GET、POST请求:使用$_REQUEST["key"]获取数据
完成与PHP接口的交互
在iOS平台使用NSURL、NSURLRequest等对象完成与接口的交互。
总结
- GET请求方式、POST请求方式
- 同步、异步连接方式
- 网络请求步骤:
- NSURL
- NSURLRequest
- NSURLConnection
- 处理Error或者返回数据

浙公网安备 33010602011771号