黑马程序员--url域名解析

/* URL对象 浏览区作为客户端,每次与服务器连接时,都会给服务器发送一个消息头, 消息头主要是一些Http,版本类型,可以解析的内容,编码方式等 服务器收到了以后也会给浏览器返回一个响应头, 如果直接使用socket连接接受信息,那么这些头信息也会被显示出来, 使用URL对象可以将这些头信息解析掉,只显示数据内容,由原来的传输层到应用层

*/

import java.io.*;

import java.net.*;

class Url{  

public static void main(String [] args){   

URL url = new URL("http://192.168.1.118:8080/index.php?name=zhangsan");   

//URL的两个作用1,解析地址,可以提取地址中的IP,端口号,path等   

int port = url.getPort();   

String path = url.getPath();   

String host = url.getHost();   

String file = url.getFile();   

String http = url.getProtocol();   

//2.远程连接服务器,获取信息;      

URLConnection urlConnection = url.openConnection();   

BufferedInputStream bufferedInputStream = new BufferedInputStream(urlConnection.getInputStream());  

 byte [] buf = new byte[1024];   

int len = bufferedInputStream.read(buf);   

System.out.println(new String(buf,0,len));

 } }

/* 域名解析

1,在浏览器中输入网址以后,他首先会在本地进行解析,寻找网址与IP地址的映射关系,例如127.0.0.1   localhost

2,如果本地没有找到,然后到公网上进行DNS服务器解析,(在我们配置IP的时候, 下面可以选择使用哪个DNS服务器解析),然后返回IP地址,浏览器再进行socket远程连接 ,如果我们直接输入IP地址,这样就不会解析了,直接远程连接

3,在c:\windows\system32\drivers\etc\hosts文件中,可以自定义本地的映射的关系, 用途有两个:一,可以屏蔽掉了一些网站; 二,可以对一些在线检测的软件进行免费使用,不让其检测

 

*/

posted @ 2015-11-24 22:17  谢天航  阅读(270)  评论(0编辑  收藏  举报