Object-C NSURL

来源:互联网 发布:视频传输软件 编辑:程序博客网 时间:2024/04/29 04:34

在计算机网络中常用的协议有哪些?

协议 端口 基础协议 用途 HTTP/HTTPS 80 TCP 国际互联网的支持协议 file TCP 本地文本协议 FTP 21 TCP 文件传输协议 SSH 22 TCP 用于加密和远程登录 SMTP 25 TCP 邮件协议 talnet 23 TCP 用于交互式远程登录会话

URL

URL用于标识Internet上资源位置。它指定用于访问服务器的协议、服务器名称以及文件在服务器上面的位置。
如:’http://iosseventeenclass.sinaapp.com/myapp/index.php‘.

语法:protocol://username@hostname:port/path/filename?query#fragment

1.’protocol’代表网络协议,可以http、FTP、file等协议
2.’username’代表服务器用户名,可选参数
3.’hostname’代表服务器名称,可以是名称,也可以是’节点地址’
4.’port’代表端口号,可选参数,如果是http协议,会是默认80端口,如果是FTP协议默认是21端口
5.’path / filename’代表文件在服务器路径
6.’query#fragment’ 代表查询条件,通常用于向服务器提供附加参数,一般只用于 http URL ,这里的查询条件是向服务器程序提供参数。

note:在URL中不可以出现中文、空格、百分号等一些特殊字符。

在OC中使用’NSURL’ 类来定义’URL’

        NSString *urlString = @"http://iosseventeenclass.sinaapp.com/index.php?name=rick&age=25";        //将url字符串转成NSURL类        NSURL *url = [NSURL URLWithString:urlString];        //将NSData 接收从服务器短传过来的数据        NSData *data = [NSData dataWithContentsOfURL:url];        //将data转成字符串输出        NSString *string = [[NSString alloc]initWithData:data encoding:4];        NSLog(@"string = %@",string);

有时候我们传入给服务器的参数出现中文,但是URL不支持中文等一些等一些特殊字符串,此时需要进行url编码

//将url字符串进行编码        NSString *urlString = @"http://iosseventeenclass.sinaapp.com/index.php?name=的看法姐&age=25";        urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];        //将url字符串转成NSURL类        NSURL *url = [NSURL URLWithString:urlString];        //将NSData 接收从服务器短传过来的数据        NSData *data = [NSData dataWithContentsOfURL:url];        //将data转成字符串输出        NSString *string = [[NSString alloc]initWithData:data encoding:4];        NSLog(@"string = %@",string);        

在 OC中将URL字符串转换成NSURL时,其协议、主机域名、路径文件、查询条件都被封装成NSURL类中的属性,如下示:

     NSLog(@"url absoluteString= %@",url.absoluteString);        NSLog(@"scheme = %@",url.scheme);        NSLog(@"url resourceSpeci = %@",url.resourceSpecifier);        NSLog(@"host = %@",url.host);        NSLog(@"port = %@",url.port);        NSLog(@"user = %@",url.user);        NSLog(@"password = %@",url.password);
0 0
原创粉丝点击