定位:
Ip定位电脑
Port端口定位软件
Url 统一资源定位符
Ip地址:
IPv4:32位以十进制表示如192.168.0.1
Ipv6:128位 16个字节 写成8个16位的无符号整数
InetAddress类:
用于区分电脑
InetAddress ia=InetAddress.getLocalHost();//获取本机的Ip配置:
ia.getLocalHost(); 返回地址如192.168.1.110
ia.getHostName() //输出计算机名
//根据域名获得InetAddress对象
ia=InetAddress.getByName(“www.163.com”);
ia.getLocalHost(); 返回163服务器的ip
ia.getHostName() //输出:www.163.com
Port端口、
用于区分软件 端口不一样 表示软件不一样
2个字节 0-65535
底层Tcp Udp协议
公认端口0-1023 其中80个端口分给www 21端口分配给FTP
注册端口1024-49151
动态/私有端口49152-65535
80端口HTTP
8080Tomcat服务器
1521 Oracle
3306 mysql
同以个协议端口不要冲突 定义端口越大越好
InetSocketAddress 类
InetSocketAddress socketAddress=new InetSocketAddress("127.0.0.1",8080);
InetSocketAddress socketAddress=new InetSocketAddress("loaclhost",9000);
System.out.println(socketAddress.getHostName())
System.out.println(socketAddress.getAddress())
cmd查看端口 netStat -ano
协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 512
TCP [::]:135 [::]:0 LISTENING 512
TCP [::]:445 [::]:0 LISTENING 4
TCP [::]:5357 [::]:0 LISTENING 4
查看5355具体端口 netStat -ano|findstr “5357”
C:\Users\Administrator>netStat -ano|findstr "5357"
TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING 4
TCP [::]:5357 [::]:0 LISTENING 4
通过进程找程序 tasklist|findstr “4”
C:\Users\Administrator>tasklist|findstr "4"
System 4 Services 0 152 K
smss.exe 416 Services 0 1,220 K
csrss.exe 664 Services 0 4,788 K
wininit.exe 752 Services 0 6,104 K
csrss.exe 760 Console 1 5,140 K
lsass.exe 968 Services 0 16,948 K
svchost.exe 532 Services 0 3,496 K
svchost.exe 524 Services 0 25,148 K
fontdrvhost.exe 764 Console 1 263,228 K
fontdrvhost.exe 656 Services 0 12,460 K
svchost.exe 1212 Services 0 4,900 K
URL
统一资源定位符 包含四个部分
http://www.google.com:80/index.html
协议
存放资源主机域名
端口号
资源文件名
Url类:
Url url=new Url(“http://www.baidu.com:80/xxxx”);
url.getProtocol() ;//获取协议
url.getHost() ;//获取域名 ip
url.getPort() ;//获取端口
url.getFile();//获取请求资源
url.getPath();//获取请求资源
url.getQuery() //获取参数
url.getRef()//获取锚点
网络爬虫原理
1、获取url
Url url=new Url(“https://www.baidu.com/”);
2、下载资源
InputStream in=url.openStream();
然后就是io操作
3、分析
4、抽取
不让抓取的情况下可以使用模拟浏览器
Url url=new Url(“https://www.baidu.com/”);
HttpURLConnection conn=url.openConnection();
//Http协议(请求协议 响应协议)
conn.setRequestMethod(“ GET”);//设置请求方式/POST
conn.setRequestProperty(“User-agent”."")
。。。
InputStream in=conn.getInputStream();