curl客户端的url工具命令,参数非常多,功能非常强大,灵活使用
curl默认不带参数
不带任何参数默认访问的是网站信息内容
curl http://httpbin.org/get{"args": {},"headers": {"Accept": "*/*","Host": "httpbin.org","User-Agent": "curl/7.61.1","X-Amzn-Trace-Id": "Root=1-6267a4ec-5772a0974c2ba0007de43fb2"},"origin": "120.76.204.238","url": "http://httpbin.org/get"}
curl -A -H
-A :指定客户端的代理标头 -H:直接指定标头,更改User-Agent
curl -A "user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" http://httpbin.org/get{"args": {},"headers": {"Accept": "*/*","Host": "httpbin.org","User-Agent": "user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36","X-Amzn-Trace-Id": "Root=1-6267a87a-265b63b0261f7af115616cd3"},"origin": "120.76.204.238","url": "http://httpbin.org/get"}
curl -H "User-Agent:GOOGLE" http://httpbin.org/get{"args": {},"headers": {"Accept": "*/*","Host": "httpbin.org","User-Agent": "GOOGLE","X-Amzn-Trace-Id": "Root=1-6267a827-3760a0e076b46b234795f23c"},"origin": "120.76.204.238","url": "http://httpbin.org/get"}
curl -e
-e:自定义设置 HTTP 的标头Referer,表示请求的来源
curl -e 'http://itclq.top:/curl' http://httpbin.org/get{"args": {},"headers": {"Accept": "*/*","Host": "httpbin.org","Referer": "http://itclq.top:/curl","User-Agent": "curl/7.61.1","X-Amzn-Trace-Id": "Root=1-6267aa38-73c4c82f5a5138b05d8f8c84"},"origin": "120.76.204.238","url": "http://httpbin.org/get"}
curl -i
-i 参数打印出服务器回应的 HTTP 标头。 下面命令收到服务器回应后,先输出服务器回应的标头,然后空一行,再输出网页的源码
curl -i http://httpbin.org/getHTTP/1.1 200 OKDate: Tue, 26 Apr 2022 08:20:07 GMTContent-Type: application/jsonContent-Length: 255Connection: keep-aliveServer: gunicorn/19.9.0Access-Control-Allow-Origin: *Access-Control-Allow-Credentials: true{"args": {},"headers": {"Accept": "*/*","Host": "httpbin.org","User-Agent": "curl/7.61.1","X-Amzn-Trace-Id": "Root=1-6267ab37-550d06082e97e64c761ba186"},"origin": "120.76.204.238","url": "http://httpbin.org/get"}
curl -l
-I参数向服务器发出 HEAD 请求
curl -I http://httpbin.org/getHTTP/1.1 200 OKDate: Tue, 26 Apr 2022 08:23:26 GMTContent-Type: application/jsonContent-Length: 255Connection: keep-aliveServer: gunicorn/19.9.0Access-Control-Allow-Origin: *Access-Control-Allow-Credentials: true
curl -k
-k参数:指定跳过 SSL 检测
curl -k http://httpbin.org/get{"args": {},"headers": {"Accept": "*/*","Host": "httpbin.org","User-Agent": "curl/7.61.1","X-Amzn-Trace-Id": "Root=1-6267ac23-1626e89a1302cdfb66f5c845"},"origin": "120.76.204.238","url": "http://httpbin.org/get"}
curl -sS -O
-s 参数将不输出错误和进度信息 -S 参数指定只输出错误信息,通常与-s一起使用 -O 参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名
curl -sSO http://httpbin.org/getcat get{"args": {},"headers": {"Accept": "*/*","Host": "httpbin.org","User-Agent": "curl/7.61.1","X-Amzn-Trace-Id": "Root=1-6267acc7-64ef657f21789dd04e0b6418"},"origin": "120.76.204.238","url": "http://httpbin.org/get"}
curl -v
-v 参数输出通信的整个过程,用于调试
curl -sSOv http://httpbin.org/get* Trying 3.226.124.170...* TCP_NODELAY set* Connected to httpbin.org (3.226.124.170) port 80 (#0)> GET /get HTTP/1.1> Host: httpbin.org> User-Agent: curl/7.61.1> Accept: */*>< HTTP/1.1 200 OK< Date: Tue, 26 Apr 2022 08:28:26 GMT< Content-Type: application/json< Content-Length: 255< Connection: keep-alive< Server: gunicorn/19.9.0< Access-Control-Allow-Origin: *< Access-Control-Allow-Credentials: true<{ [255 bytes data]* Connection #0 to host httpbin.org left intact
curl -u -i
-u 参数用来设置服务器认证的用户名和密码 -i:如果-u只设置了用户,则想要手动输入密码
curl -u 'lwmacct:pwd' http://httpbin.org/basic-auth/lwmacct/pwd{"authenticated": true,"user": "lwmacct"}curl -i -u 'lwmacct' http://httpbin.org/basic-auth/lwmacct/pwdEnter host password for user 'lwmacct':HTTP/1.1 401 UNAUTHORIZEDDate: Tue, 26 Apr 2022 08:30:45 GMTContent-Length: 0Connection: keep-aliveServer: gunicorn/19.9.0WWW-Authenticate: Basic realm="Fake Realm"Access-Control-Allow-Origin: *Access-Control-Allow-Credentials: true
curl -f
(HTTP)在服务器错误上静默失败(完全没有输出)。这主要是为了使脚本等更好地处理失败的尝试。
[root@clq ~]# curl http://itclq.top/test<html><head><title>404 Not Found</title></head><body><center><h1>404 Not Found</h1></center><hr><center>nginx/1.20.1</center></body></html>[root@clq ~]# curl -f http://itclq.top/testcurl: (22) The requested URL returned error: 404 Not Found
curl 访问https
curl --insecure https://itclq.top
