【linux】curl命令用法

curl命令认识

curl命令其实在平常工作中就已经在使用了,但是一直没有系统看过,就在这记录下,以后要用的话,可以在这儿查阅。

curl命令写的更清楚一点其实是cURL(client url,客户端URL或者command url命令行url工具),用来请求url的。cURL命令可以运行在多平台上,比如linux、unix、windows都可以用。经常用cURL来测试能否与目标URL连接。

在这里插入图片描述

curl参数

参数含义
-i输出包含响应头信息
-L输出重定向后的响应内容

cURL常用命令

下面就对curl命令的一些用法做总结:

GET请求: -XGET或者不带参数

默认的curl www.baidu.com其实就是命令行发送了一个http GET请求,可以获取到目标响应内容。相当于命令:curl -XGET www.baidu.com。

POST请求: -XPOST配合-d

如果是发送POST请求,需要携带参数-XPOST,-d。例子:

curl -XPOST  http://www.baidu.com/s  -d  {"wd":"bilibili"}

其他请求

如果是发送其他类型的请求,只需要携带对应的参数就好,比如-XPUT、-XDELETE。这里就不一一列举了。

携带请求头: -H

HTTP请求,一般需要携带请求头,请求头字段挺多的,看要求添加,这儿给个例子, -H后面跟的就是指定的请求头,多个请求头那就写多个-H选项:

curl -XPOST  http://www.baidu.com/s -H 'Content-Type:application/json' -H 'accept:application/json' -d  {"wd":"bilibili"} -L

在这里插入图片描述

获取响应首部: -I

-I参数可以返回响应的头部信息。

在这里插入图片描述

下载文件: -O或-o

-O参数可以将文件下载到当前文件夹中。文件名和下载的文件名保持一致。

curl -O https://article.biliimg.com/bfs/article/9fb33786c734ab3da1471e5b73558453b37e514a.jpg@1320w_740h.webp

-o可以自定义保存的文件名名称.

curl -o test.png https://article.biliimg.com/bfs/article/9fb33786c734ab3da1471e5b73558453b37e514a.jpg@1320w_740h.webp

限制下载速度: --limit-rate

–limit-rate会指定下载速度,不设置单位默认是字节,可以设置G, M, K or B。模拟慢网速场景有用。

curl --limit-rate 1k -o test.png https://article.biliimg.com/bfs/article/9fb33786c734ab3da1471e5b73558453b37e514a.jpg@1320w_740h.webp

如果下载一半终止了,是可以恢复下载的,使用-C -:

curl -C - -o test.png https://article.biliimg.com/bfs/article/9fb33786c734ab3da1471e5b73558453b37e514a.jpg@1320w_740h.webp

在这里插入图片描述

查看重定向后的内容: -L

不使用-L参数的话,遇到重定向的网址,你看不到重定向之后的网址内容。

curl www.bilibili.com -L

查看更多的请求响应信息: -v

-v参数会把请求头、响应头、响应内容都打印出来,方便观察调试,一般搭配-L使用。

 curl www.bilibili.com -v -L

在这里插入图片描述

通过代理访问: --proxy

配置代理格式如下:curl --proxy 协议://用户名:密码@代理IP:端口 URL。例子:

curl --proxy http://atiaisi:123456@127.0.0.1:12345 www.bilibili.com

支持ftp上传下载

# 下载文件:-u和-O/-o
curl -u atiais:123456 -O ftp://serverip/xxx.txt# 上传文件:-u和-T
curl -u atiaisi:123456 -T test.txt ftp://serverip

查看curl更多的参数选项

curl --help all

参考文档

  • 官方文档
    https://curl.se/download.html

  • curl 的用法指南 - 阮一峰的网络日志 (ruanyifeng.com)
    https://www.ruanyifeng.com/blog/2019/09/curl-reference.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/394217.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT(2.0)

1.常用控件的介绍 1.1 TextEdit QTextEdit表示多行输入框,也是一个富文本&markdown编辑器,并且能在内容超出编辑框范围时自动提供滚动条。 核心属性 属性 说明 markdown 输入框内持有的内容,支持markdown格式,能够自动的…

OpenGL实现3D游戏编程【连载3】——3D空间模型光照初步

1、本节实现的内容 上一节课,我们建立了简单的坐标系,同时也显示了一个正方体,但正方体的颜色为纯红色,好像一个平面物体一样,我们这节课就可以加一些光照,并创建更多的模型,使这些物体变得更加…

显示学习5(基于树莓派Pico) -- 彩色LCD的驱动

一 环境搭建 使用的ST7715S驱动的1.8寸彩色屏,主控是我们熟悉的树莓派Pico。软件环境是micropython。连接是屏幕直接从Pico取3.3V的供电,然后总线用的SPI。 ST7735 PinPico PinVCC3.3VGNDGNDSCL (SCK)GP10SDA (MOSI)GP11RES (RST)GP17DC(A0…

【HarmonyOS NEXT星河版开发学习】小型测试案例01-今日头条置顶练习

个人主页→VON 收录专栏→鸿蒙开发小型案例总结​​​​​ 基础语法部分会发布于github 和 gitee上面 ​ 前言 本系列可能是博客首发,鸿蒙开发星河版是一个全新的版本,由于参考视频较少鸿蒙开发不被重视导致csdn上面并没有全套的学习路线,…

第20周:Pytorch文本分类入门

目录 前言 一、前期准备 1.1 环境安装导入包 1.2 加载数据 1.3 构建词典 1.4 生成数据批次和迭代器 二、准备模型 2.1 定义模型 2.2 定义示例 2.3 定义训练函数与评估函数 三、训练模型 3.1 拆分数据集并运行模型 3.2 使用测试数据集评估模型 总结 前言 &#x1…

【JUC】03-CompletableFuture使用

1. CompletableFuture CompletableFuture可以进行回调通知、创建异步任务、多个任务前后依赖可以组合处理、对计算速度选最快。  CompletableFuture提供了一种类似于观察者模式的通知方式,可以在任务完成后通知监听方。 CompletableFuture实例化用CompletableFutur…

【弱网】模拟弱网环境

fiddler工具 调整上传/下载速率 打开fiddler脚本工具,在上方状态栏选择 Rules -> Customize Rules…,打开ScriptEditor编辑器 修改上传/下载速率,实现模拟指定弱网环境 计算公示:[1/(上或下行速率/8)] x 1000 网络上行下载2G2…

【Hive】学习笔记

Hive学习笔记 【一】Hive入门【1】什么是Hive【2】Hive的优缺点(1)优点(2)缺点 【3】Hive架构原理(1)用户接口:Client(2)元数据:Metastore(3&…

相机标定——小孔成像、相机模型与坐标系

小孔成像 用一个带有小孔的板遮挡在墙体与物之间,墙体上就会形成物的倒影,我们把这样的现象叫小孔成像。 用一个带有小孔的板遮挡在墙体与物之间,墙体上就会形成物的倒影,我们把这样的现象叫小孔成像。前后移动中间的板&#xff…

Docker 常规安装简介

Docker常规安装简介 欢迎关注我的B站:https://space.bilibili.com/379384819 1. 安装mysql 1.1 docker hub上面查找mysql镜像 网址: https://hub.docker.com/_/mysql 1.2 从docker hub上(阿里云加速器)拉取mysql镜像到本地标…

Redis远程字典服务器(0)——分布式系统

目录 一,关于Redis 二,分布式系统 2.1 关于分布式 2.2 理解数据库分离 2.3 理解负载均衡 2.4 数据库读写分离 2.5 引入缓存 2.6 数据库分库分表 2.7 微服务 四,补充 五,总结 一,关于Redis MySQL是在磁盘中存…

分类预测 | Matlab实现PSO-XGBoost粒子群算法优化XGBoost的多特征分类预测

分类预测 | Matlab实现PSO-XGBoost粒子群算法优化XGBoost的多特征分类预测 目录 分类预测 | Matlab实现PSO-XGBoost粒子群算法优化XGBoost的多特征分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现PSO-XGBoost粒子群算法优化XGBoost的多特征分类预测&a…

英特尔:“芯”痛巨头

从全球芯片巨头到“芯”痛巨头, 英特尔 到底经历了什么? 今天券商中国说英特尔在QDII基金上这么多年,一直就没能进入主流持仓中,最后一只试探性持仓英特尔的QDII也已在今年3月末砍仓了, 这一砍还让这只QDII完美躲过…

医得快医疗服务交易服务平台/基于微信小程序的药品销售系统

获取源码联系方式请查看文章结尾🍅 摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而…

【中间件】Redis从入门到精通-黑马点评综合实战

文章目录 一:Redis基础1.Redis是什么2.初识Redis3.Redis的数据结构A.通用命令B.String类型C.Key的层级格式D.Hash类型E.List类型F.Set类型G.SortedSet类型 二:Redis的Java客户端1.JedisA.引入依赖B.建立连接C.测试JedisD.释放资源 2.Jedis连接池3.Spring…

如何通过GD32 MCU内部ADC参考电压通道提高采样精度?

ADC采样精度受很多因素影响,比如电源波动、参考电压波动、输入信号波动等,GD32 MCU内部提供了一个参考电压通道,理论上可以优化由于电源和参考电压较大波动引入的采样误差。 如下图所示,GD32F303 ADC内部17通道为VREFINT参考电压…

密码学基础-为什么使用真随机数(True Random Number Generators)

密码学基础-为什么使用真随机数(True Random Number Generators) 概述 随机的意义很重要,就像你的银行密码如果是亲朋好友的生日,结婚纪念日(可预测的),那么就容易被人测试出来;而…

从零开始学习性能测试

学习目标 理解性能测试定义、目的理解常见性能测试策略理解性能指标理解性能测试方法学习性能测试工具 什么是性能测试 测试中的非功能测试其实范围比较广,性能、稳定性、安全性等都可以放进这个范畴。非功能测试,一般比功能测试门槛高些,多数…

深入理解计算机系统 CSAPP lab:bomb

实验资源下载地址:csapp.cs.cmu.edu/3e/labs.html 请先查看writeup 解压后 当我们运行bomb时,发现该程序要求我们输入行,如果输入错误,程序就会返回BOOM!!!提示我们失败了. 所以我们的目标是输入正确的行.以解开bomb程序. 实验前先详细阅读bomb.c //bomb.c /*****…

计算机系统基础(一)

开始复习了软考软件设计师还有考研复习了,这个重合部分比较大,开始学习打卡,基础最重要,直接看书又多又杂,重点理不出来,学习记录。 计算机系统基础 冯诺依曼体系结构奠定了计算机的基础结构。五个部分组成…