curl 相关

-L

(HTTP/HTTPS)追随http响应头“Location:”定向到跳转后的页面;
(在http响应码为3XX时使用,如301跳转、302跳转)

-X

curl默认请求是get,用X可以请求别的动作,比如POST

-d  也写作 --data 

接带上的请求数据

curl -X POST -d “data=xxx” www.example.com/form.cgi  

带上数据的POST请求

--header  "xxx"

带上请求头数据。

-I   只显示响应头,不显示返回内容

-i   显示响应头 + 返回内容

-v 

参数可以显示一次 http 通信的整个过程,包括端口连接和 http request 头信息。

--trace  

显示比-v 更详细的信息,并记录到文件中

curl --trace   output.txt    www.sina.com

curl --trace-ascii   output.txt     www.sina.com

-k  跳过ssl检测,用于https而不报错。

能处理https的报错 :Unable to communicate securely with peer: requested domain name does not match the server's certificate. 情况

-- insecure

一个IP可有几个域名的,证书是和域名相互认证,而不是和IP

所以用curl 直接去连IP可能不成功,会提示not match 证书

curl可以通过跳过证书认证的方式,末尾加上 -- insecure   或者 换成证书注册的域名以后就可以了。

-O  下载文件

 显示进度条 -# 
curl -# -O https://www.gaojs.com.cn
下载保存固定的文件名中
curl -# -o xxx(文件名) https://www.gaojs.com.cn

从ftpserver中下载文件
curl -O -u 用户名:密码 ftp://www.linux.com/dodo1.JPG
curl -O ftp://用户名:密码@www.linux.com/dodo1.JPG

指定IP访问某域名

在 curl 中,如果想以指定的 ip 来请求一个域名地,可以使用
curl http://127.0.0.1/example -H 'Host: www.example.org'
这种指定 Host 头的做法。

但这在 https 中可能会失败,显示 no alternative certificate subject name matches target host name 127.0.0.1。

显然这是由于 curl 将 https://127.0.0.1 里的 127.0.0.1 而不是 Host 头用于验证证书的 subject name,而这个 ip 如果不在证书的 subject names 中,将会导致证书验证失败。

一般的解决方案,我们可以在 /etc/hosts 或 dnsmasq 用指定 ip 解析这个域名,但这改起来显示比较繁琐。还好在 curl 7.21.3 中,提供了一个 --resolve ' 的参数,让我们可以很方便地将域名解析到指定的 ip 上,例如上面的请求可以改成
curl --resolve 'www.example.org:443:127.0.0.1' https://www.example.org

 双引号

当url中有多个参数的时候,需要用双引号引起来。

不然其中的 & 会被当做是丢入后台的指令。

 正确写法是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值