curl命令常用详解
创作时间:
作者:
@小白创作中心
curl命令常用详解
引用
CSDN
1.
https://blog.csdn.net/weixin_46357988/article/details/139718156
Curl是一个强大的命令行工具,用于与服务器进行数据传输。它支持多种协议,包括HTTP、FTP、SMTP等,并提供了丰富的参数选项,可以满足各种网络数据传输需求。本文将详细介绍curl的基本用法、常用参数及其应用场景。
1、curl 介绍
Curl是一个命令行工具和库(libcurl),用于与服务器进行数据传输。它支持各种协议,包括HTTP、FTP、SMTP、POP3等,并支持常见的身份验证、代理、cookie等功能。curl通常用于测试API、爬取网页、上传和下载文件等任务。curl 由 libcurl 提供支持,可实现所有与传输相关的功能。
2、curl 语法
语法:curl [options...] <url> #options是表示参数 url是网页的地址
Options: (H) means HTTP/HTTPS only, (F) means FTP only。
某些选项只适用于 HTTP/HTTPS 协议,而另一些选项只适用于 FTP 协议。
当选项标注为 (H) 时,表示该选项仅在使用 HTTP/HTTPS 协议时可用。这意味着你只能在发送 HTTP 或 HTTPS 请求时使用这些选项。
当选项标注为 (F) 时,表示该选项仅在使用 FTP 协议时可用。这意味着你只能在进行 FTP 操作时使用这些选项。
3、curl 常用参数
-h, --help:显示帮助文本。使用这个选项可以查看curl的帮助信息。-V, --version:显示版本号并退出。通过使用这个选项,你可以查看curl的版本号信息。-X, --request method:用于指定要使用的请求方法。常见的请求方法包括 GET、POST、PUT、DELETE 等。通过指定请求方法,你可以告诉curl在发送请求时使用特定的 HTTP 方法。-H, --header <HEADER>:添加自定义的请求头。通过该参数,你可以添加一个自定义的请求头传递给服务器。请求头信息 -d, --data <DATA>:发送 POST 请求时附带的数据。用于指定要作为请求体发送的数据,通过指定 -d 选项,你可以将数据附加到请求中。发送的数据-F, --form <KEY=VALUE>:发送 multipart/form-data 请求时附带的表单数据。使用表单格式发送数据。格式为 KEY=VALUE,类似URL编码的表单数据。-o, --output <FILE>:将服务器响应内容保存到指定的文件中。文件名 -O, --remote-name:将服务器响应保存到与远程文件名相同的文件中。-T, --upload-file:选项用于指定要上传的文件。你可以使用该选项将本地文件上传到服务器。-u, --user USER:PASSWORD:指定用户名和密码,用于 HTTP基本身份验证。USER:PASSWORD,用户名:密码-L, --location:跟随服务器重定向,将服务器响应保存到新位置。-c, --cookie <STRING/FILE>:使用指定的字符串或文件中的cookie来发送请求。你可以提供一个包含 cookie 的字符串,或者使用一个文件来读取 cookie。<STRING/FILE>字符串或者文件名-m, --max-time:用于设置传输的最大时间限制。-C, --continue-at <offset>:用于断点续转下载。如果下载被中断,你可以使用该选项指定要从哪个字节偏移量开始继续下载。就是偏移量 -b, --cookie-jar <FILE>:将服务器返回的cookie保存到指定的文件中。文件名 -k, --insecure:允许连接到SSL/TLS加密的站点时忽略证书验证。这在测试环境或不信任的环境中可能会有用,但在生产环境中不建议使用。-s, --silent:在执行请求时不打印进度或错误信息,使curl静默工作。这对于脚本中的静默操作很有用。-v, --verbose:显示详细的请求和响应信息,包括请求头、响应头和其他调试信息。-I, --head:仅获取响应头信息。-x, --proxy PROTOCOL://HOST:PORT:用于指定代理服务器的地址和端口。PROTOCOL://HOST:PORT 协议://主机名:端口-A, --user-agent <USERAGENT>:设置用户代理字符串,模拟特定浏览器或客户端发送请求。指定的客户端 --compressed:请求服务器发送经过压缩的响应。这可以节省带宽和加快传输速度。curl默认会自动处理压缩的响应,但使用该选项可以强制请求压缩的响应。请求压缩后的响应。--limit-rate <RATE>:限制请求的传输速率。你可以使用该选项设置一个速率限制,以控制请求的带宽。请求的速率 --retry <NUM>:指定请求失败时的重试次数。你可以使用该选项指定重试的次数。重试的次数
4、curl 常用案例
- 通过curl命令可以获取指定URL的网页内容,并将其输出到终端。
curl https://www.djl.cn
- 指定-o参数可以用于从服务器下载文件并把响应的内容保存到指定文件中。这里是把响应的内容保存在a.txt文件中
curl -o a.txt https://download.djl.cn/a.sh
- 指定-O参数可以用于从服务器下载文件并保持与远程文件名相同的文件中。
curl -O https://download.djl.cn/a.sh
- 指定-T参数可以把本地的文件上传到服务器上面。这里把a.txt文件上传到服务器中
curl -T a.txt https://www.dengjilin.top/upload
- 可以用于发送POST请求,并传递数据给服务器。-X指定请求的方法,-d指定请求的数据
curl -X POST -d "name=djl&passwd=abcd" https://www.dengjilin.top/api
- 指定-H参数可以用于设置HTTP请求头。
curl -H "Content-Type: application/json" https://www.dengjilin.top/api
- 指定-x参数可以通过代理服务器进行请求。这将通过名为http://proxy.dengjilin.top:8080的HTTP代理服务器(端口号为8080)访问https://www.dengjilin.top。
curl -x http://proxy.dengjilin.top:8080 https://www.dengjilin.top
- 指定-m参数可以设置请求的超时时间,单位为秒。这将向https://www.dengjilin.top发送HTTP GET请求,并设置超时时间为10秒。如果在10秒内没有收到服务器的响应,curl命令将终止请求。
curl -m 10 https://www.dengjilin.top
- curl命令默认是不会自动跟随HTTP重定向。可以通过-L参数启用重定向。
curl -L https://www.djl.cn
- 指定-v参数输出详细的调试信息,包括请求和响应头信息。
curl -v https://www.djl.cn
热门推荐
【“枫桥经验”典型案例】合同纠纷拖欠款 温情调解促双赢
清宁片是什么药
“人与自然和谐共生”的城市绿地,需要怎样的设计
二叔变身亚克零号!《假面骑士Zero-One》迎来终极对决
《假面骑士01》亚克卫星大揭秘!
秋冬季节,如何预防牙龈退缩?
饮食与牙齿健康:从食材到护牙全攻略
牙齿脱落怎么办?武汉中诺口腔医院教你正确处理
30分钟黄金期!武汉大学口腔医院专家教你正确处理孩子牙外伤
217美食街成网红打卡地,点亮苏州夜经济新地标
苏州三大美食街必吃攻略:从老字号到网红店,总有一款让你流连忘返
英语中的连读弱读及缩读技巧
建水古城与昆明市区:云南历史文化的双重奏
手机的前置摄像头与后置摄像头有哪里不同?
昆明至建水:秋冬自然与人文的完美邂逅
昆明到建水:一场穿越千年的文化之旅
秋冬打卡!昆明至建水必游景点大揭秘
从麒麟9000到中国“芯”力量:国产芯片产业的崛起之路
鼓浪屿vs武夷山:一个浪漫,一个壮丽,你更爱哪个?
福建浦城:寺庙村落全攻略!
校园安全大揭秘:如何避免楼梯踩踏?
泉湖小学:楼梯安全文化的典范
揭秘河北“鱼谷泉”:泉水为何能喷出鱼?专家探寻百年奇观真相
中国9处“最水的景观”,真的惊艳了!
神秘泉水为什么能喷出鱼?专家得知后亲自前往探寻,最终揭开谜团
什么是维生素K?营养师说明维生素K功效、含维生素K食物有哪些
跟着“悟空”游丽水|“浪漫休闲地”:凤阳山云海
杭州秋游打卡:茶源谷&落日橘子海
攀枝花市米易县:康养产业阳光正好
四川攀枝花迤沙拉古村:未被商业化开发的彝族第一村