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
热门推荐
车辆信息发生哪些变化时,需要办理变更登记?
不锈钢保温杯千万别装这8种东西,不是危言耸听,后果承担不起
身体一侧麻木无力且频繁排尿是何原因
如何计算封单金额?这种计算对股票交易有什么指导意义?
青春小店与环卫工人的“温暖约定”
慈禧太后的罪责主要从法律视角解析其历史影响
育碧确认《刺客信条影》将支持PS5Pro增强:可4K/60帧运行!
偶尔眼睛出现黑影是什么症状?这种现象可能预示着哪些健康问题?
白色猫咪品种鉴,金吉拉风采独领
通过观察放屁形态判断脾胃健康状况
联营的概念与联营的三种形式分别是什么
Photoshop信封变形工具:创意设计与操作指南
“胶” 着困境:502 胶水粘手后的自救指南
炸鸡腿的历史与文化背景
JAMA Pediatrics:婴儿期大脑和认知发展的基本环境支持
全球首个L3级自动驾驶国际法规已由联合国发布
卸妆是先用洗面奶还是先用卸妆水
选择一台适合玩GTA5的笔记本电脑
三国演义中关羽温酒斩华雄简介
开发者还能从销量逾240万的《死亡细胞》上学到什么?
“鱼鳞坑”与“打坝淤地”:黄土高原的水土保持之道
西周的遗产:周穆王的“八匹马”是怎么回事?
山东职业学院的全面解析,学院特色、优势及办学理念探究。
干眼症需要长期滴玻璃酸钠吗
广州地铁:轨道搭台,打造“湾区轨道文化长廊”
成都周边最值得去的7大古镇,都不要门票,公共交通直达!
正式回归东风日产成独立事业部 英菲尼迪在华战略收缩
鬼谷八荒远志游人奇遇流程攻略
赵姓男孩起名100分大气的(2025版)
驼奶粉检测标准与方法详解