Curl用法

curl

  • -# 显示进度(具体显示啥进度测试不出来)
  • -0 指定使用http1.0协议发起请求
tieshan@ytsdeMacBook-Air:~$curl -svI   ab.text.com/jdk-8u101-linux-x64.tar.gz 
......
> HEAD /big/SGWS5.PC6game.zip HTTP/1.1  #默认协议为1.1

tieshan@ytsdeMacBook-Air:~$curl -0  -svI   ab.text.com/jdk-8u101-linux-x64.åtar.gz
......
> HEAD /big/SGWS5.PC6game.zip HTTP/1.0  #默认协议已经修改为http 1.0了
  • 进行https访问 -1 强制使用 TLS1.x版本访问(ssl 1版本),-2 ssl 2版本 -3 ssl 3版本
  • -4 将地址解析为ipv4地址(有ipv6的情况下) -6 将地址解析为ipv6地址(有ipv6的情况下)(不知道怎么测试,先放着继续往下)
  • -a 在进行ftp/sftp上传的时,使用-a参数可以将本地文件追加到目录下面 (测试出问题了)
  • -A 使用某个客户端访问,指定多个客户端的时候,以最后一个为主
tieshan@ytsdeMacBook-Air:~$curl -A 'Mozilla/5.0' -I  ab.text.com/jdk-8u101-linux-x64.tar.gz
# tail -1  /data/logs/www/ab.text.com.log   #通过下面的日志就可以看出使用的是Mozilla进行访问,而不是通过curl访问的
10.168.1.102 | - | 22/Oct/2019:09:53:53 -0400 | HEAD /jdk-8u101-linux-x64.tar.gz HTTP/1.1 | 200 | 256 | 0 | ab.text.com | - | Mozilla/5.0 | - | - | - | 0.000 | -
  • -H 指定一个header(标头,指定请求头部分 )选项 值是key=value 需要指定其他header时,curl需要加 -H参数

  • -X 指定发起请求所使用的请求方法(后面跟着各种请求方法,什么prot,put,HTTPS_PROXY等等) 默认是get

  • -d 后面接具体数据
    例如:
    $ curl -H “Content-Type:application/json” -XPUT ‘http://10.28.88.199:9200/ac/book/1?pretty’ -d ‘{“title”:“创始道纪”}’

  • -I 只获取网页header信息

  • -s 静音模式 也就是将错误输出丢弃
    例如:
    在这里插入图片描述
    在这里插入图片描述

  • -v 显示详细的网页信息(包括通信过程,请求头,响应内容,网页内容)
    例如:$ curl -v http://m.2234sad.com/games/jinbeihaolemenqipai/
    #通信过程
    在这里插入图片描述
    #请求头
    在这里插入图片描述
    #响应信息
    在这里插入图片描述
    #网页内容

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

####################################################################

  • -x 使用代理进行访问 组成:[protoco(协议)😕/]host[:port] 默认是http协议代理(前提是你的网站进行了代理)
  • -p 是把通过http代理访问转为隧道访问,需要要求代理能直接连接到远程端口(俗称直连)
    $ curl -x 192.168.1.11:80 http://m.2234sad.com/games/jinbeihaolemenqipai/ # -x通过代理获取的url信息,只能获取其代码信息
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

$ curl -v -x 192.168.1.11:80 http://m.2234sad.com/games/jinbeihaolemenqipai/ #加上-v的话,显示更全一些(通信信息,请求信息,响应信息,响应内容都展示了出来)

* About to connect() to proxy 175.6.2.179 port 80 (#0)
*   Trying 192.168.1.11...
* Connected to 192.168.1.11 (192.168.1.11) port 80 (#0)
> GET http://m.2234sad.com/games/jinbeihaolemenqipai/ HTTP/1.1
> User-Agent: curl/7.29.0
> Host: m.22234sad.com
> Accept: */*
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 301 Moved Permanently
< Server: nginx
< Date: Sun, 29 Sep 2019 01:02:53 GMT
< Content-Type: text/html
< Content-Length: 178
< Connection: keep-alive
< Location: https://m.2234sad.com/games/alogdyan/
<
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
* Connection #0 to host 192.168.1.11 left intact

####################################################################

  • –resolve HOST:PORT:ADDRESS #将 HOST:PORT 强制解析到 ADDRESS(一般是用于查询备用服务器上的东西,也就是没有做dns解析的网站,dns做了解析的通过curl +url方式可以获取页面内容,没有做解析的话,只能通过–resolve强制调整,或者在hosts里面添加对应的记录,指定对应的域名及ip也可以获取url结果,不建议后者,太麻烦了。
    $ curl --resolve m.2234sad.com:80:192.168.1.11 http://m.2234sad.com/games/jinbeihaolemenqipai/ # 直接获取的是当前网页信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值