URLConnection使用及域名解析

 

 

 

小知识

telnet 命令 (也就是客户端软件) tlenet 192.168.1.117 8080windows远程登录工具 。连接网络下的任意一台主机,进行命令式倒置

ServerSocket s  = new ServerSocket(int port, int backlog);  其中第二个参数为允许链接的个数,最多为50个

System.out.println(InetAddress.getByName("WWW.BAIDU.COM"));查找服务器域名的IP地址

 

 

示例:

模拟浏览器访问服务器端,并接收返回数据给模拟浏览器

血的教训:在模拟客户端向服务器发送消息的时候,HTTP1.1前面造成不能多加空格,否则取不到网页的文本信息,只能取得表头 pw.println("GET "+path+" HTTP/1.1");

 

第一步:模拟服务器,由浏览器向访问服务器,在服务器端获取浏览器发送的信息

	ServerSocket ss = new ServerSocket(11000);
		Socket s = ss.accept();
		InputStream is=s.getInputStream();
		byte [] b = new byte[1024];
		int len = 0;
		while((len = is.read(b))!=-1){
		System.out.println(new String(b));
		}


第二步:模拟客户端,用服务器发送指定的信息,查看接收到的信息,就可以模拟浏览器访问服务器了

	     String url = "http://192.168.1.117:808/Demo/src/index.jsp";
		
		int index1 = url.indexOf("//")+2;

		int index2 = url.indexOf("/",index1);

		String str = url.substring(index1,index2);
		String[] arr = str.split(":");
		String host = arr[0];
		int port = Integer.parseInt(arr[1]);

		String path = url.substring(index2);
		//ta.setText(str+"...."+path);

		Socket s = new Socket("192.168.1.117",8081);
		PrintWriter pw = new PrintWriter(s.getOutputStream(),true);

		pw.println("GET "+path+"  HTTP/1.1");
		pw.println("Accept: */*");
		pw.println("Accept-Language: zh-cn");
		pw.println("Host: 192.168.1.117:8081");
		pw.println("Connection: closed");


		pw.println();
		pw.println();

		BufferedReader bufr = new BufferedReader(new InputStreamReader(s.getInputStream()));

		String line = null;

		while((line=bufr.readLine())!=null)
		{
			System.out.println(line);
		}


 

 

URLConnection对象使用

URL与URI的区别

 

URI要比URL的范围的广

URL表示的是统一的资源标识,与定位。不只定义了资源地址。还提供了资源相关信息的方法

URIURI表示的是统一的资源标识,URI的范畴位于体系的顶层,,URL和URN的范畴位于体系的底层,可以说URI包含了URL。

相关方法:

url.getQuery();取得传递参数的方法;

url.openConnection()连接到一个地址。返回值为UrlConnection。因为是抽象类HTTPURLconnection,所以返回值一般写成其子类HTTPURLconnection

url.getFile();取得端口号以后的链接地址,包含参数

url.getPath()取得端口号以后的链接地址,包含参数

url.getPort() 取得端口号

url.getHost()取得主机名

 

访问服务器执行步骤

1、首先确定是什么服务器  http OR ftp或别的

2、解析链接地址中的 主机名和端口号封装成Socket

3、将主机名域名翻译成IP地址 去公网服务器查找(DNS)

(1)先在本地查找是否有这个域名 如域名localhost 在本地IP地址为127.0.0.1  域名为 先在C:\WINDOWS\system32\drivers\etc\hosts里面找,如果查找到了直接访问127.0.0.1  如果没有查找到,就到公网服务器去查找

***某些恶意网站 会连续不断的弹出某些窗口,直接在此将该域名的IP地址改为本地,则不会访问该IP地址,也就无法弹出窗口***

 

4、访问服务器

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值