网络编程_InetAddress_InetSocketAddress_URL_爬虫原理JAVA185-186
来源:互联网 发布:数据质量整改报告 编辑:程序博客网 时间:2024/06/06 04:33
来源:http://www.bjsxt.com/
一、S02E185_01网络编程_InetAddress_InetSocketAddress
package com.test.net.ip;import java.net.InetAddress;import java.net.UnknownHostException;/** * 没有封装端口 * InetAddress * 1、静态方法获取对象 * InetAddress.getLocalHost(); * InetAddress.getByName("www.163.com"); * InetAddress.getByName("223.87.1.58"); * 2、方法 * getHostAddress()返回ip地址 * getHostName()返回域名或本机计算机名 */public class InetAddressDemo01 { public static void main(String[] args) throws UnknownHostException { //使用getLocalHost方法创建InetAddress对象 InetAddress addr = InetAddress.getLocalHost(); System.out.println(addr.getHostAddress());//返回:127.0.0.1 System.out.println(addr.getHostName());//输出计算机名 //根据域名得到InetAddress对象 addr = InetAddress.getByName("www.163.com"); System.out.println(addr.getHostAddress());//返回163服务器ip:61.135.253.15 System.out.println(addr.getHostName());//输出:www.163.com //根据ip得到InetAddress对象 addr = InetAddress.getByName("61.135.253.15"); System.out.println(addr.getHostAddress());//返回163服务器ip:61.135.253.15 //输出ip而不是域名。如果这个ip地址不存在或DNS服务器不允许进行ip地址和域名的映射, //getHostName方法就直接返回这个ip地址 System.out.println(addr.getHostName()); }}
package com.test.net.ip;import java.net.InetAddress;import java.net.InetSocketAddress;/** * 封装端口:在InetAddress基础上 + 端口 * 创建对象:InetSocketAddress(String hostname, int port) * InetSocketAddress(InetAddress addr, int port) * getAddress()、getHostName()、getPort() */public class InetSocketAddressDemo01 { public static void main(String[] args) { InetSocketAddress address = new InetSocketAddress("127.0.0.1",9999);//"127.0.0.1"代表本机 System.out.println(address.getHostName());//返回本机名 System.out.println(address.getPort()); InetAddress addr = address.getAddress(); System.out.println(addr.getHostAddress());//返回地址 System.out.println(addr.getHostName());//返回计算机名 }}
二、S02E186_01网络编程_URL爬虫原理
package com.test.net.url;import java.net.MalformedURLException;import java.net.URL;/** * 创建 * URL(String spec):绝对路径构建 * URL(URL context,String spec):相对路径构建 */public class URLDemo01 { public static void main(String[] args) throws MalformedURLException { //绝对路径构建 URL url = new URL("http://www.baidu.com:80/index.html#aa?uname=test");//锚点:#aa System.out.println("协议:" + url.getProtocol()); System.out.println("域名:" + url.getHost()); System.out.println("端口:" + url.getPort()); System.out.println("资源:" + url.getFile()); System.out.println("相对路径:" + url.getPath()); System.out.println("锚点:" + url.getRef());//锚点 //?参数:存在锚点则返回null,否则返回正确 System.out.println("参数:" + url.getQuery()); url = new URL("http://www.baidu.com:80/a/"); url = new URL(url,"b.txt");//相对路径 System.out.println(url.toString()); }}
package com.test.net.url;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.URL;/** * 获取资源:源代码 * InputStream openStream() */public class URLDemo02 { public static void main(String[] args) throws IOException { URL url = new URL("http://www.baidu.com");//主页,默认资源 //获取资源 网络流 /*编解码集不统一,出现乱码 InputStream is = url.openStream(); byte[] flush = new byte[1024]; int len = 0; while(-1!=(len=is.read(flush))){ System.out.println(new String(flush,0,len)); } is.close(); */ //使用转换流 BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(),"utf-8")); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("baidu.html"),"utf-8")); String msg = null; while(null!=(msg=br.readLine())){ //System.out.println(msg); bw.append(msg); bw.newLine(); } bw.flush(); bw.close(); br.close(); }}
0 0
- 网络编程_InetAddress_InetSocketAddress_URL_爬虫原理JAVA185-186
- 网络蜘蛛爬虫原理
- 网络爬虫原理
- 网络爬虫工作原理
- 网络爬虫原理
- 网络爬虫实现原理
- 网络爬虫原理
- 网络爬虫原理
- 网络爬虫原理
- 网络爬虫简单原理
- 网络爬虫原理一
- 网络爬虫原理二
- 网络爬虫原理
- 网络爬虫原理
- 网络爬虫原理
- 【python网络爬虫一】爬虫工作原理
- 网络爬虫原理与分析
- 网络爬虫工作原理分析
- ios中集合遍历方法的比较和技巧
- GCD 深入理解(二)
- 10分钟看懂常用设计模式
- 【书籍篇】《Objective-C程序设计》语法相关
- c c++语言选择排序
- 网络编程_InetAddress_InetSocketAddress_URL_爬虫原理JAVA185-186
- Caffe在Windows 10 下配置、安装和运行mnist cifar10 的过程记录(着重补充了一些注意点)
- Doxygen
- NSURLCache 内存缓存
- 无聊时总结总结算法之05快速排序
- iOS银联ApplePay控件开发
- AMR解码编程(C++直接用opencore-amr-0.1.3库)
- java.lang.NoSuchMethodError: com.google.common.collect.Sets.newConcurrentHashSet()异常解决思路
- 批量kill运行时间较长的进程