关于curl、wget、telnet、ping、httping等工具
1、curl
curl 域名 或 curl http(s)...
我经常用来测试服务端的接口。比如springboot 服务启动好之后,在服务器执行 curl http://localhost:8080/test 测试服务是否正常启动。其实就是模拟发起http请求,可以是GET,也可以是POST,并且注意这个工具还有个大坑。
带参: curl http://xxxxx?name=value&name2=value2
不带参: curl http://www.baidu.com
**巨坑**
`curl http://localhost:8000/w/d.html?pr=3&rqc=10`
**无论windows、linux** curl这样子居然带不上第二个参数, 实际服务端只接收到第一个, 第二个丢失了, 真是坑
另外也可以访问某个网站得到站点的源码,如 curl http://www.baidu.com 得到百度页面的 HTML 代码
2、wget
wget 域名 或 wget http(s)...
这个通常是用来下载软件包的,跟 curl 网站 得到网页的源码不一样,这个是将源码保存为一个文件的,当然更多的我们用它来下载软件。例如:
wget http://www.baidu.com 会保存百度网址的源码为index.html文件,文件保存在执行命令的当前目录里。wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz 下载这个压缩包
3、ping
ping 域名或IP!不能http(s)开头
我们通常用它来确定网络通不通,认为 “能ping通网络就通,ping不通网络就不通”,其实这是错的。ping不ping得通并不能确定网络是否能联通,ping不通的时候可能也是能连通的,因为可能只是服务器设置了禁止ping。当然了,ping得通肯定是表示网络没问题的。
这个命令另外一个用途是用来确定域名的实际IP是什么,就算ping不通,也会显示出域名对应的IP。
ping的协议是icmp,并不是http,这需要注意。
4、telnet
telnet 域名或IP!不能http(s)开头 端口 ,域名和端口之间用空格,不是冒号!
telnet这个工具,我觉得可以在ping不通的时候,尝试用telnet去诊断网络的连通性(可能你们有更好的,可以留言),比如我ping不通下面的ip,但是我用telnet可以连接。下面是linux的服务器,ssh协议的端口是22。
5、httping
注意不是 httpping ,这个是用http协议的,跟ping用icmp协议不一样。ping可以被禁止,但是httping的话不会。这个用于测试连通性会比较好。
|