您的位置:首页 > 理论基础 > 计算机网络

IOS 获取网络地址的html字符串 本地获取网络图片

2015-09-12 14:06 453 查看

获取网络地址的url:

注意:URL必须全部填写http://www.baidu.com/

说下我在使用中遇到的问题吧: 首先 IOS是相当纤细的,有时候一丁点的错误可能就会造成严重失败.下面的代码是通过网络学习的,代码很简单,看注释就可以了,我在这里说一下注意事项,大家都知道OC中url必须填写http:// 这个在学习webView的时候就会知道了.但是如果你想获取html就必须将地址后面的斜划线”/”也带上. 下面是获取html源文件的两种方法.

第一种方法:

这个方法唯一注意的地方就是编码格式了.如果返回了null并且url无误就尝试用其他的编码格式吧,里面有我测试出来可以转换顶级域名的编码枚举值 NSUTF8StringEncoding无法获取顶级域名(非hppt://www开头的域名)的源代码.

//获取url 这个方法获取的mthl如果有中文 则中文显示为乱码
NSURL * url =[NSURL URLWithString:strUrl];
//使用NSUTF8StringEncoding编码格式返回html文本 此格式无法返回顶级域名的html(html)可以使用其他的编码格式1 5 9 11 12 14 15 21 30均可获得顶级域名的html
NSString * str = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",str);


第二种方法:

这个方法没有进行过多测试,跟上面一样 不行就换编码格式,当然对于懂html的人来说是小菜.不懂的就依次换吧,直到满意为止.这个方式获取的源代码中文不会出现乱.

代码出处:http://www.th7.cn/Program/IOS/201301/121725.shtml/;

//同样获取url 这个方式获取的html没有乱码
NSURL * url = [NSURL URLWithString:strUrl];
//获取url中的数据文件8位16进制
NSData * data = [NSData dataWithContentsOfURL:url];
//创建一个编码格式
NSStringEncoding  enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
//使用创建的编码格式对数据进行转换 返回html字符串


将网络图片加载到本地设备:

这个不多解释了

//获取网络图片地址的url
NSURL * url1 = [NSURL
URLWithString:@"http://image.uuu9.com/pcgame/lol/UploadFiles/201507/201507171015056351.png"];
//从url获取数据文件
NSData * data= [NSData dataWithContentsOfURL:url1];
//将数据文件转换成image文件
UIImage * img = [UIImage imageWithData:data];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: