当前位置: 首页 > news >正文

【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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 敏捷开发模式优缺点,对测试人员有哪些要求?
  • python常用标准库
  • Leetcode75-7 除自身以外数组的乘积
  • VUE3—无限级菜单渲染
  • C++ 异步编程脉络与示例
  • web基础与HTTP
  • IEEE报告解读:存储技术发展趋势分析
  • 神经网络中的优化方法
  • 网络编程复习
  • 服务器模式
  • 【C++】-----多态及原理
  • 相机标定——小孔成像、相机模型与坐标系
  • 《数据结构(C语言版)第二版》第五章-树和二叉树(5.7 哈夫曼树及其应用)
  • 【AI学习】[2024北京智源大会]具身智能:具身智能关键技术研究:操纵、决策、导航
  • kafka 3.x 配置kerbos
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 5、React组件事件详解
  • gops —— Go 程序诊断分析工具
  • JavaScript服务器推送技术之 WebSocket
  • JavaScript新鲜事·第5期
  • LeetCode29.两数相除 JavaScript
  • python 学习笔记 - Queue Pipes,进程间通讯
  • React Native移动开发实战-3-实现页面间的数据传递
  • Spark学习笔记之相关记录
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 理解在java “”i=i++;”所发生的事情
  • 面试总结JavaScript篇
  • 目录与文件属性:编写ls
  • 如何利用MongoDB打造TOP榜小程序
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 通过几道题目学习二叉搜索树
  • 微信开放平台全网发布【失败】的几点排查方法
  • 消息队列系列二(IOT中消息队列的应用)
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 如何在招聘中考核.NET架构师
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #nginx配置案例
  • (1)svelte 教程:hello world
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (4)事件处理——(7)简单事件(Simple events)
  • (C++)八皇后问题
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (笔记)M1使用hombrew安装qemu
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (回溯) LeetCode 78. 子集
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net Core中Quartz的使用方法
  • .NET NPOI导出Excel详解
  • .net 托管代码与非托管代码