可以在没有浏览器的情况下,模仿http请求。
get 请求
默认就是get请求
curl www.baidu.com # 直接打印出网页的htmlcurl www.baidu.com/api # 直接打印出可调用的api
POST请求
-XPOST: 设置请求类型
URL: 网页
-d: 设置添加数据
curl -XPOST https://jsonplaceholder.typicode.com/posts -d '{"title":"liao"}'{"{\"title\":\"liao\"}": "","id": 101}
PUT与DELETE
curl -XPUT https://jsonplaceholder.typicode.com/posts/1 -d '{"update":"更新"}'{"{\"update\":\"更新\"}": "","id": 1}curl -XDELETE https://jsonplaceholder.typicode.com/posts/1
设置首部信息
-H: 设置请求头 一个H 一个请求头
-I: 获得请求网站的所有请求头
curl -XPOST https://jsonplaceholder.typicode.com/posts -H "Content-Type:application/json" -d '{"title":"里奥"}'curl -I https://jsonplaceholder.typicode.com/postsHTTP/1.1 200 OKDate: Mon, 23 May 2022 12:48:46 GMTContent-Type: application/json; charset=utf-8Connection: keep-aliveX-Powered-By: ExpressX-Ratelimit-Limit: 1000X-Ratelimit-Remaining: 998X-Ratelimit-Reset: 1652304597Vary: Origin, Accept-EncodingAccess-Control-Allow-Credentials: trueCache-Control: max-age=43200Pragma: no-cacheExpires: -1X-Content-Type-Options: nosniffEtag: W/"6b80-Ybsq/K6GwwqrYkAsFxqDXGC7DoM"Via: 1.1 vegurCF-Cache-Status: HITAge: 26154Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=h3UvhJycOuvMeqR4L59SLtccAcyBduvk8%2FZI78gi7QYUQFhsrjTfyHNmAYlsqEyVsSMhA5d%2BzNsf7%2B%2F4tS9EEevd7elmOrrJCw6LLB%2BVIi4mHxQ1Q%2BdFwspvgW5A3ty7xL2uqiWJChfWxWVI00L6"}],"group":"cf-nel","max_age":604800}NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}Server: cloudflareCF-RAY: 70fde860deab52f5-LAXalt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
下载页面文件
curl -O www.baidu.com/aaa.png #下载该页面的文件curl -o 123.png www.baidu.com/aaa.png # 下载该页面的文件并且自定义名称
限制下载速度
—limit-rate: 限制下载速度
-c: 恢复中断的下载任务
curl --limit-rate 100k -o www.baidu.com/aaa.png
如果不小心暂停,可以使用 -c 恢复下载。
重定向与详细信息
-v: 显示详细信息 三次握手重定向等
-L: 跟随重定向
curl -v -L www.bilibili.com
代理访问
—proxy: 设置代理IP
curl --proxy ""
FTP的上传与下载
上传
curl -u 用户名:密码 -T 文件名 ftp://servercurl -u 用户名:密码 -O ftp://server/files
