写点什么

Linux 的小知识 -curl 命令

作者:技术小生
  • 2022 年 7 月 07 日
  • 本文字数:715 字

    阅读完需:约 2 分钟

Linux的小知识-curl命令

简介

curl 是 Linux 常用的命令行工具,是一款很强大的 HTTP 命令行工具,常用于接口访问测试。,可以完全取代 postman 等可视化工具。


命令解析

curl 命令的语法结构是:

curl  [option]  url
复制代码

curl https://www.baidu.com
复制代码

执行后,百度页面的 HTML 就会显示出来。由于 Linux 很多不会安装桌面浏览器,因此经常用这种方式测试服务器是否可以到达该网站。


curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://google.com
复制代码

设置 user-agent 后发送给服务器


curl -b 'foo1=bar;foo2=bar2' https://google.com
复制代码

设置 Cookie 后发送给服务器 在 cookie 字符串位置可以写成对应的文件名


curl -x 192.168.100.100:1080 http://www.linux.com
复制代码

-x(小写)设置代理服务器


curl -e "www.linux.com" http://mail.linux.com
复制代码

-e 伪造 http 访问的 refer


curl -u 'bob:12345' https://google.com/login
复制代码

-u 设置服务器认证的用户名和密码


curl -X POST https://www.example.com
复制代码

-X 设置 HTTP 请求的方法,默认是 GET ,可以设置 POST


curl -i https://www.example.com
复制代码

可以显示 HTTP 的 Response 的头信息


 curl -X POST --data "data=xxx" https://example.com/form.cgi 
复制代码

POST 请求参数为 form-data 格式

curl -H "Content-Type:application/json" -X POST -d '{"message": "sunshine"}' http://www.baidu.com/api/i
复制代码

POST 请求参数为 json 格式


小知识

该接口用浏览器访问可以正常响应。

但是在 Linux 系统内用 curl 命令就报异常。


原因就是如果 url 中存在 &符号时,系统会认为是使线程后台运行的命令标识,所以 curl 命令中 url 就只剩 &前面的部分。由于参数错误,才会报错。

解决办法就是对 &进行转义

  • 在 &符号前加上转义字符 \


  • 对整个 url 加单引号


发布于: 刚刚阅读数: 7
用户头像

技术小生

关注

还未添加个人签名 2019.10.08 加入

还未添加个人简介

评论

发布
暂无评论
Linux的小知识-curl命令_Linux_技术小生_InfoQ写作社区