网络异步连接参数解析——利用配置好的APache本地服务器做测试
来源:互联网 发布:淘宝视频开放平台网址 编辑:程序博客网 时间:2024/05/18 00:22
本地计算机的IP地址和域名
IP地址:127.0.0.1
是回送地址,指本地机,一般用来测试使用。
无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不要进行任何网络传输。
常用测试命令:ping 127.0.0.1
域名:localhost
在计算机网络中,localhost(本地主机)是给回路网络接口的一个标准主机名,相对应的IP地址为127.0.0.1
打开本地连接,如果出现乱码,解决方法如下:
如下所示:
工程代码如下所示:
<span style="font-size:18px;">//// ViewController.m// 异步连接参数解析//// Created by apple on 15/10/26.// Copyright (c) 2015年 LiuXun. All rights reserved.//#import "ViewController.h"#import <Foundation/Foundation.h>@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; /* 0. 此方法虽然可以直接从网址请求数据,但有时候返回的data是nil,无法打印错误信息 这个方法是同步的 dataWithContentsOfURL:url 方法是同步的,超时时长是60秒 NSData *data = [NSData dataWithContentsOfURL:url]; UIImage *image = [UIImage imageWithData:data]; */ // 1. url—— 访问的是自己主机的服务器 注意地址中不可含有中文字符 NSURL *url = [NSURL URLWithString:@"http://127.0.0.1/demo.json"]; // 2. 建立一个请求对象 /** 第一种方式 NSURLRequest *request = [NSURLRequest requestWithURL:url]; */ /** 第二种方式 参数: url:资源路径 cachePolicy : 资源策略 timeoutInterval :超时时间,默认是60秒(默认超过60秒服务器无响应就返回请求失败信息)。一般手动设置为15~20秒 SDWebImage的超时时长设置为15秒 AFN使用的是系统的60秒 */ NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:20]; // 3. 建立连接,发送请求到服务器 /** request:请求 queue:队列,这个队列,是完成以后,回调block执行的队列,也就是说是数据请求完成执行完成代码块才使用的队列 Asynchronous:只要是异步,肯定会开新的线程。 Handler:网络访问完成以后执行的代码块 response:服务器的响应(包含响应的信息,响应头之类的... 到下载的时候才会关心此参数) data:返回的二进制数据 connectionError:服务返回的错误, 只要有网络访问,就有可能有错误 使用场景:如果下载的是压缩包,解压缩也是一个耗时操作。 如果在block内有需要执行耗时操作,就把queue指定为子线程,然后在耗时操作执行完毕获得主线程并在主线程上更新UI。 如果block块内没有耗时操作要执行或只需要更新UI,就直接执行queue参数为主线程即可 */ [NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init ]completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { // 网络请求完成以后会调用这段代码,从服务器获得二进制数据 if (connectionError || data == nil) { NSLog(@"您的网络不给力,请稍后再试"); return; } // 假设是解压缩——耗时操作 NSLog(@"%@", [NSThread currentThread]); //在主线程更新UI dispatch_async(dispatch_get_main_queue(),^{ NSLog(@"%@------%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding], [NSThread currentThread]); }); }]; }@end/** typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy) { NSURLRequestUseProtocolCachePolicy = 0, // 默认缓存策略,会自动缓存 NSURLRequestReloadIgnoringLocalCacheData = 1, NSURLRequestReload(刷新)Ignoring(忽略)Local(本地)CacheData (缓存数据)= 1, 刷新忽略本地数据,即每次都从服务器去加载数据,忽略本地数据 NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4, // Unimplemented(苹果预留参数,还未实现) ------------------------------------------------------------------------------------------------- 此两个 一般来离线访问。一般配合Reachability(苹果提供的检测网络连接的框架来使用) // 如果用户使用的是WIFI,就使用这个策略 NSURLRequestReturnCacheDataElseLoad = 2, // 如果有缓存就使用缓存,如果没有缓存就上网。 // 检测如果使用的是3G就使用如下策略 NSURLRequestReturnCacheDataDontLoad = 3, // 如果有缓存,就是用缓存。没有就返回空,不会网络请求数据 ------------------------------------------------------------------------------------------------- NSURLRequestReloadRevalidatingCacheData = 5, // Unimplemented(苹果预留参数,还未实现) }; */</span>运行结果如下所示:
1 0
- 网络异步连接参数解析——利用配置好的APache本地服务器做测试
- Mac电脑配置Apache服务器用于做网络数据测试
- Apache服务器的配置具体操作—— Apache比较强大,所以要配置Apache作为本地web服务器
- |- 配置 -| 手机真机测试之访问本地apache服务器
- 手机连接本地apache服务器
- 网络:配置 Apache 服务器
- 测试使用的apache配置服务器
- 本地apache服务器配置域名
- [AD]使用NetDiag工具测试工作站和服务器的网络连接和DNS解析
- 利用Apache的ab命令做Benchmark性能测试
- 如何配置本地本地测试APP后台服务器-apache外网访问
- Apache服务器配置参数的全面说明(所有参数)
- Android真机测试,连接到本地服务器的方法
- Tomcat和Apache服务器访问本地路径的项目配置
- 本地Apache服务器配置及Android模拟器的调试
- 利用libevent做一个简单的服务器压力测试例子
- Mac本地搭建Apache服务器步骤,方便我们开发中网络测试
- Apache连接本地自定义站点服务器
- js 获取url参数
- Android 滑动菜单的实现
- javaweb博客
- Android开发总结笔记 Intent和IntentFilter 1-2-10
- android之常用工具类
- 网络异步连接参数解析——利用配置好的APache本地服务器做测试
- Nginx详细配置的备注说明
- 判断值是否为undefined
- Codeforces Round #327 & problem - 590C - C. Three States - BFS
- openwrt serial串口设置密码
- 为HTML添加图片登录按钮
- 欢迎使用CSDN-markdown编辑器
- IOS--错误集锦--Undefined symbols for architecture x86_64:
- 解决Sublime Text 3不能正确显示中文的问题