-
博文分类专栏
- Jquery基础教程
-
- 文章:(15)篇
- 阅读:46549
- shell命令
-
- 文章:(42)篇
- 阅读:154227
- Git教程
-
- 文章:(36)篇
- 阅读:234843
- leetCode刷题
-
- 文章:(76)篇
- 阅读:131787
-
linux下curl命令汇总2017-12-04 20:23 阅读(6399) 评论(0)
一、常用参数
curl命令主要是用于发出网络请求、提取数据。其支持HTTP/HTTPS、FTP/FTPS、RTSP、POP3/POP3S、SCP、IMAP/IMAPS等协议。
1.常用命令参数
-I 状态码 http -o 抓取页面到一个文件中 -x 代理 -X curl默认的http动作是GET 使用-X参数可以支持其他动作 -v 可以显示一次http通信的整个过程 -u 账号:密码 -s silent 静音模式
2.指定请求方法
-X POST 使用post方法,当使用post方法的时候,可以通过--data "user=dq" 方式来传递参数 -X get 使用get方法,参数直接放到url后面
3.指定referer
--referer url 比如 curl --referer "www.baidu.com" www.findme.wang
4.指定客户端的设备信息
--user-agent "User Agent" 比如curl -v --user-agent "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36" www.findme.wang
5.指定cookie
--cookie "name=xxx" 比如curl -v --cookie "name=dqs" www.findme.wang
6.添加http认证
--user name:password 比如curl -v --user dq:123456 www.findme.wang
7.指定host
-H "host:val" 比如curl -H "host:www.findme.wang" 60.205.21.85:80
8.添加header头
-H "key:val" 比如curl -v -H "Accept:text/html" www.findme.wang
既然可以指定header头,那么前面指定的cookie、用户设备、referer之类的,都可以通过header来指定,如下:
9.设置代理
-x host:port -x [protocol://[user:pwd@]host[:port] --proxy [protocol://[user:pwd@]host[:port] 比如curl -x 192.168.13.149:8081 127.0.0.1
10.长传文件和图片
-F "filename=@fileName" 上传文件 -F "image=@fileName" 上传图片 比如curl -F "filename=@test.txt" -F "image=@img.png" http://127.0.0.1
二、只查看响应头
curl命令默认请求下返回的是响应内容,若想看响应头,则可以通过-I参数,如下:
curl -I www.findme.wang
如果,想查看响应头和请求头,可以使用
curl -vI www.findme.wang
三、查看请求和响应的所有内容
可以使用-v参数,如下:
curl -v www.findme.wang
需要注意的是-v参数,会返回请求头,响应头,响应主体。
其中 -v 是--verbose的缩写。
四、解析hostname
可能有的时候,我们不想改下机器的hosts文件,可以使用curl的--resolve 选项来指定host的解析。其格式如下:
--resolve HOST:PORT:ADDRESS
案例如下:
curl -vI --resolve www.findme.wang:80:60.205.21.85 http://www.findme.wang
五、指定证书
指定ssl证书,可以使用 --cacert,如下:
curl --cacert conf/test.pem https://127.0.0.1:443