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

Linux必会100个命令(六十)curl

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具。

curl选项比较多,使用man curl或者curl -h获取帮助信息。

 

 

 

 

 

-a/--append                                上传文件时,附加到目标文件
--anyauth                                  可以使用“任何”身份验证方法
--basic                                    使用HTTP基本验证
-B/--use-ascii                             使用ASCII文本传输
-d/--data <data>                           HTTP POST方式传送数据
--data-ascii <data>                        以ascii的方式post数据
--data-binary <data>                       以二进制的方式post数据
--negotiate                                使用HTTP身份验证
--digest                                   使用数字身份验证
--disable-eprt                             禁止使用EPRT或LPRT
--disable-epsv                             禁止使用EPSV
--egd-file <file>                          为随机数据(SSL)设置EGD socket路径
--tcp-nodelay                              使用TCP_NODELAY选项
-E/--cert <cert[:passwd]>                  客户端证书文件和密码 (SSL)
--cert-type <type>                         证书文件类型 (DER/PEM/ENG) (SSL)
--key <key>                                私钥文件名 (SSL)
--key-type <type>                          私钥文件类型 (DER/PEM/ENG) (SSL)
--pass  <pass>                             私钥密码 (SSL)
--engine <eng>                             加密引擎使用 (SSL). "--engine list" for list
--cacert <file>                            CA证书 (SSL)
--capath <directory>                       CA目   (made using c_rehash) to verify peer against (SSL)
--ciphers <list>                           SSL密码
--compressed                               要求返回是压缩的形势 (using deflate or gzip)
--connect-timeout <seconds>                设置最大请求时间
--create-dirs                              建立本地目录的目录层次结构
--crlf                                     上传是把LF转变成CRLF
--ftp-create-dirs                          如果远程目录不存在,创建远程目录
--ftp-method [multicwd/nocwd/singlecwd]    控制CWD的使用
--ftp-pasv                                 使用 PASV/EPSV 代替端口
--ftp-skip-pasv-ip                         使用PASV的时候,忽略该IP地址
--ftp-ssl                                  尝试用 SSL/TLS 来进行ftp数据传输
--ftp-ssl-reqd                             要求用 SSL/TLS 来进行ftp数据传输
-F/--form <name=content>                   模拟http表单提交数据
-form-string <name=string>                 模拟http表单提交数据
-g/--globoff                               禁用网址序列和范围使用{}和[]
-G/--get                                   以get的方式来发送数据
-h/--help                                  帮助
-H/--header <line>                         自定义头信息传递给服务器
--ignore-content-length                    忽略的HTTP头信息的长度
-i/--include                               输出时包括protocol头信息
-I/--head                                  只显示文档信息
-j/--junk-session-cookies                  读取文件时忽略session cookie
--interface <interface>                    使用指定网络接口/地址
--krb4 <level>                             使用指定安全级别的krb4
-k/--insecure                              允许不使用证书到SSL站点
-K/--config                                指定的配置文件读取
-l/--list-only                             列出ftp目录下的文件名称
--limit-rate <rate>                        设置传输速度
--local-port<NUM>                          强制使用本地端口号
-m/--max-time <seconds>                    设置最大传输时间
--max-redirs <num>                         设置最大读取的目录数
--max-filesize <bytes>                     设置最大下载的文件总量
-M/--manual                                显示全手动
-n/--netrc                                 从netrc文件中读取用户名和密码
--netrc-optional                           使用 .netrc 或者 URL来覆盖-n
--ntlm                                     使用 HTTP NTLM 身份验证
-N/--no-buffer                             禁用缓冲输出
-p/--proxytunnel                           使用HTTP代理
--proxy-anyauth                            选择任一代理身份验证方法
--proxy-basic                              在代理上使用基本身份验证
--proxy-digest                             在代理上使用数字身份验证
--proxy-ntlm                               在代理上使用ntlm身份验证
-P/--ftp-port <address>                    使用端口地址,而不是使用PASV
-Q/--quote <cmd>                           文件传输前,发送命令到服务器
--range-file                               读取(SSL)的随机文件
-R/--remote-time                           在本地生成文件时,保留远程文件时间
--retry <num>                              传输出现问题时,重试的次数
--retry-delay <seconds>                    传输出现问题时,设置重试间隔时间
--retry-max-time <seconds>                 传输出现问题时,设置最大重试时间
-S/--show-error                            显示错误
--socks4 <host[:port]>                     用socks4代理给定主机和端口
--socks5 <host[:port]>                     用socks5代理给定主机和端口
-t/--telnet-option <OPT=val>               Telnet选项设置
--trace <file>                             对指定文件进行debug
--trace-ascii <file>                       Like --跟踪但没有hex输出
--trace-time                               跟踪/详细输出时,添加时间戳
--url <URL>                                Spet URL to work with
-U/--proxy-user <user[:password]>          设置代理用户名和密码
-V/--version                       显示版本信息
-X/--request <command>             指定什么命令
-y/--speed-time                    放弃限速所要的时间。默认为30
-Y/--speed-limit                   停止传输速度的限制,速度时间'秒
-z/--time-cond                     传送时间设置
-0/--http1.0                       使用HTTP 1.0
-1/--tlsv1                         使用TLSv1(SSL)
-2/--sslv2                         使用SSLv2的(SSL)
-3/--sslv3                         使用的SSLv3(SSL)
--3p-quote                         like -Q for the source URL for 3rd party transfer
--3p-url                           使用url,进行第三方传送
--3p-user                          使用用户名和密码,进行第三方传送
-4/--ipv4                          使用IP4
-6/--ipv6                          使用IP6

 默认情况下,cur使用get方式发送参数

例如:

curl 
https://www.baidu.com/?tn=54093922_hao_pg

使用-d参数让curl使用post方式发送参数

例如:

curl -X POST -d 'tn=54093922_hao_pg' https://www.baidu.com

如果需要发送json格式参数,使用-H,-X,-d参数配合来实现

curl -H "Content-Type: application/json" -X POST -d '{"a1":123,"a2":"456"}' URL

-H代表header头,-X是指定什么类型请求(POST/GET/HEAD/DELETE/PUT/PATCH),-d代表传输什么数据。


使用-o下载文件。

例如:保存www.xxx.com网页到xxx.html

 curl -o xxx.html http://www.xxx.com  或 curl http://www.xxx.com >> xxx.html

测试网页返回值。例如:

 如图返回值200

保存http的response里面的cookie信息。内置option:-c(小写)
 curl -c cookiec.txt  http://www.xxx.com

保存http的response里面的header信息。内置option: -D

curl -D cookied.txt http://www.xxx.com

使用保存的cookie信息。内置option: -b

 curl -b cookiec.txt http://www.xxx.com

内置option:-A可以让我们指定浏览器去访问网站

 curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" http://www.xxx.com

curl中内置option:-e可以让我们设定referer

curl -e "www.xxx.com" http://www.yyy.com

这样就会让服务器其以为你是从www.xxx.com点击某个链接过来的

有时候下载图片可以能是前面的部分名称是一样的,就最后的尾椎名不一样

 curl -O http://www.yyy.com/xxx[1-5].JPG

有时候下载的东西会比较大,这个时候我们可以分段下载。使用内置option:-r

 curl -r 0-100 -o xxx_part1.zip http://www.linux.com/xxx.zip
 curl -r 100-200 -o xxx_part2.zip http://www.linux.com/xxx.zip
 curl -r 200- -o xxx_part3.zip http://www.linux.com/xxx.zip
 cat xxx_part* > xxx.zipxxx.zip

curl可以通过ftp下载文件,curl提供两种从ftp中下载的语法

 curl -O -u 用户名:密码 ftp://www.xxx.com/xxx.zip
 curl -O ftp://用户名:密码@www.xxx.com/xxx.zip

curl不仅仅可以下载文件,还可以上传文件。通过内置option:-T来实现

 curl -T dodo1.JPG -u 用户名:密码 ftp://www.xxx.com/upload

显示抓取错误

 curl -f http://www.xxx.com/displayerror

相关文章:

Linux必会100个命令(六十)curl

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具&#xff0c;可以说是一款很强大的http命令行工具。它支持文件的上传和下载&#xff0c;是综合传输工具。 curl选项比较多&#xff0c;使用man curl或者curl -h获取帮助信息。 -a/--append …...

物联网硬件安全与整改梳理(1)

物联网安全工作梳理(0)_luozhonghua2000的博客-CSDN博客 上篇讲了物联网总体安全知识框架和工作梳理,这篇单独讲下硬件安全方面的问题和整改知识技能点。硬件安全主要分5个方面来讲:硬件安全现状,硬件安全技术分析,典型案例,安全架构整改,安全整改措施。 智能硬件安全总…...

【大数据学习篇3】HDFS命令操作与MR单词统计

1. HDFS命令使用 [rootmaster bin]# su hd[hdmaster bin]$ #查看/目录[hdmaster bin]$ hdfs dfs -ls / 5 #在/目录创建一个为test名字的文件夹[hdmaster bin]$ hdfs dfs -mkdir /test#查看/目录[hdmaster bin]$ hdfs dfs -ls Found 1 itemsdrwxr-xr-x - hd supergroup …...

java中设计模式总结

设计模式是实际工作中写的各种代码进行高层次抽象的总结&#xff0c;其中最出名的当属 Gang of Four (GoF) 的分类了&#xff0c;他们将设计模式分类为 23 种经典的模式&#xff0c;根据用途又可以分为三大类&#xff0c;分别为创建型模式、结构型模式和行为型模式。 有一些重…...

ChatGPT不到1分钟生成全部代码,你就说慌不慌吧?

生成过程视频&#xff1a; 如何使用ChatGPT快速生成代码 (qq.com) 如何使用ChatGPT快速生成SpringBoot集成Dubbo的完整案例 1、Dubbo最新版本有哪些新特性 Dubbo最新版本是2.7.9&#xff0c;于2021年6月发布。以下是该版本的一些新特性&#xff1a; 1&#xff09;增加Dubbo-go…...

Python进阶知识(1)—— 什么是爬虫?爬文档,爬图片,万物皆可爬,文末附模板

文章目录 01 | &#x1f352; 什么是 P y t h o n 爬虫&#xff1f; \color{red}{什么是Python爬虫&#xff1f;} 什么是Python爬虫&#xff1f;&#x1f352;02 | &#x1f34a; 怎么发起网络请求&#xff1f; \color{orange}{怎么发起网络请求&#xff1f;} 怎么发起网络请求…...

如何在andorid native layer中加log function.【转】

在开发Android一些应用或是链接库, 在程序代码中埋一些log是一定有需要的, 因为谁也无法保证自己所写出来的程序一定没有问题, 而log机制正是用来追踪bug途径的一种常用的方法. 在andorid中提供了logcat的机制来作log的目的, 在javalayer有logcat class可以用,哪在nativelayer呢…...

FreeRTOS 空闲任务

文章目录 一、空闲任务详解1. 空闲任务简介2. 空闲任务的创建3. 空闲任务函数 二、空闲任务钩子函数详解1. 钩子函数2. 空闲任务钩子函数 三、空闲任务钩子函数实验 一、空闲任务详解 1. 空闲任务简介 当 FreeRTOS 的调度器启动以后就会自动的创建一个空闲任务&#xff0c;这…...

快速生成HTML结构语法、快速生成CSS样式语法以及emmet

快速生成HTML结构语法 1、生成标签直接输入标签名按Tab键即可 比如 div 然后tab键 2、如果要生成多个相同标签&#xff0c;加上就可以了&#xff0c;比如 div3就可以快捷生成三个div 3、如果有父子级关系的标签&#xff0c;可以用 > 比如 ul>li 就可以了 4、如果有兄弟关…...

企业直播该如何做?硬件设备、网络环境、设备连接和观看权限等整个直播流程教程

这是一份面向直播新手的企业直播说明教程&#xff0c;字数较多&#xff0c;完整看完&#xff0c;可能会需要求10分钟&#xff0c;建议您可以【收藏】&#xff0c;如果本文章对您有帮助&#xff0c;就帮助【点个赞】吧~~~ 阿酷TONY / 2023-5-12 / 原创文章 / 长沙 / 文章…...

第4章 静态网站部署

第4章 静态网站部署 Nginx是一个HTTP的web服务器&#xff0c;可以将服务器上的静态文件&#xff08;如HTML、图片等&#xff09;通过HTTP协议返回给浏览器客户端 4.1 案例&#xff1a;将ace-master这个静态网站部署到Nginx服务器上 4.1.1 通过Xftp将ace-master到linux服务器…...

免费版的mp3格式转换器有哪些?这三款软件帮你实现!

在娱乐文化越来越丰富的今天&#xff0c;人们越来越追求音乐、视频等娱乐方式&#xff0c;其中音乐作为一种能够治愈心灵的艺术形式备受欢迎。但要欣赏一首美妙的音乐&#xff0c;就需要我们自己去制作、编辑并转换其格式&#xff0c;以适应各种软件如MP3、MP4等格式。 方法一…...

版本控制器git

目录 一、版本控制系统 二、工作流程和使用命令 &#xff08;1&#xff09;工作流程 &#xff08;2&#xff09;一次完整流程的相关命令 1.初始化1个空的本地仓库 2.克隆方式1个远程仓库到本地仓库 3.新文件添加到暂存区 4.查看仓库状态&#xff0c;显示有变更的文件 5…...

接口自动化测试 vs. UI自动化测试:为什么前者更快,更省力,更稳定?

从入门到精通&#xff01;企业级接口自动化测试实战&#xff0c;详细教学&#xff01;&#xff08;自学必备视频&#xff09; 目录 前言&#xff1a; 一、什么是接口自动化测试和 UI 自动化测试 二、为什么接口自动化测试效率比 UI 自动化测试高 1.执行速度 2.维护成本 3.…...

看Chat GPT解答《情报学基础教程》课后思考和习题

情报学基础教程课后思考题 情报学经验规律 (一)按照布拉德福定律,设布拉德福常数为5, 当核心期刊数量为20时,外围一区和外围二区期刊数量各是多少? 答: 核心期刊数和外围期刊比例关系:nc: n1: n2 = 1: a : a2 (a称为布拉德福常数) 外围一区期刊数量为20*5=100,…...

线程同步、生产者消费模型和POSIX信号量

gitee仓库&#xff1a; 1.阻塞队列代码&#xff1a;https://gitee.com/WangZihao64/linux/tree/master/BlockQueue 2.环形队列代码&#xff1a;https://gitee.com/WangZihao64/linux/tree/master/ringqueue 条件变量 概念 概念&#xff1a; 利用线程间共享的全局变量进行同…...

(六)实现好友管理:教你如何在即时通信系统中添加好友

文章目录 一、引言1.1 即时通信系统中用户增加好友功能的重要性和应用场景1.2 TCP连接传输用户增加好友请求的基本原理 二、实现用户增加好友功能2.1 实现用户好友列表的展示和管理2.1.1 使用QListWidgetItem控件展示好友列表客户端关键代码展示服务端关键代码展示 三、效果展示…...

使用循环数组和环形链表实现双端队列

本文主要介绍了两种实现双端队列的数据结构 —— 基于环形链表和循环数组。两种实现方式的基本原理和特点&#xff0c;以及详细的Java代码实现和分析。 引言 双端队列(Deque, Double-ended queue)是一种具有队列和栈的性质的数据结构。它允许在两端插入和删除元素&#xff0c…...

谁想和我一起做低代码平台!一个可以提升技术,让简历装x的项目

序言 正如文章标题所述&#xff0c;最近一段时间低代码这个概念非常的火&#xff0c;但其实在不了解这个东西的时候觉得它真的很炫酷&#xff0c;从那时就萌生了做一个低代码平台的想法。 但随着时间的变化&#xff0c;现在市面上低代码各个业务方向的平台都有了&#xff0c;可…...

知识推理——CNN模型总结(一)

记录一下我看过的利用CNN实现知识推理的论文。 最后修改时间&#xff1a;2023.05.12 目录 1.ConvE 1.1.解决的问题 1.2.优势 1.3.贡献与创新点 1.4.方法 1.4.1 为什么用二维卷积&#xff0c;而不是一维卷积&#xff1f; 1.4.2.ConvE具体实现 1.4.3.1-N scoring 1.5.…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...