Tables | Are | Cool | 用途 |
---|---|---|---|
HTTP | 80 | TCP | 国际互联网支持协议 |
FILE | TCP | 本地文件协议 | |
FTP | 21 | TCP | 文件传输协议 |
SSH | 22 | TCP | 用于加密和远程登陆 |
SMTP | 25 | TCP | 邮件协议 |
talnet | 23 | TCP | 用于交互远程登陆会话 |
URL
URL用于标识Internet上的资源位置。它指定用于访问服务器的协议、服务器名称以及文件在服务器上面的位置。
语法:
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中,不可以出现中文等特殊字符
//将url字符串转成NSURL类
NSURL *url = [NSURL URLWithString:@"http://iosseventeenclass.sinaapp.com/index.php?name=vincent&age=25"];
//用NSData接受服务器传过来的数据
NSData *data = [NSData dataWithContentsOfURL:url];
//将data转成字符串输出
NSString *string = [[NSString alloc]initWithData:data encoding:4];
NSLog(@"string = %@",string);
有时候我们传入服务器的参数出现中文,但是URL不支持中文等一些特殊的字符,那么此时我们需要进行url编码
//将url字符串转成NSURL类
NSString *urlstring = @"http://iosseventeenclass.sinaapp.com/index.php?name=林福荣&age=25";
//将URL字符串进行编码
urlstring = [urlstring stringByAddingPercentEscapesUsingEncoding:4];
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);
NSLog(@"%@",url.relativeString);
NSLog(@"%@",url.scheme);
NSLog(@"%@",url.resourceSpecifier);
NSLog(@"%@",url.host);
NSLog(@"%@",url.port);
NSLog(@"%@",url.user);
NSLog(@"%@",url.password);