详解Curl各参数的含义

news2024/11/17 7:19:23
在这里插入图片描述

详解Curl各参数的含义

    • 1. Introduction
    • 2. Detail
      • 2.1 参数-k
      • 2.2 参数-X
      • 2.3 参数-x
      • 2.4 参数-w %{http_code}
      • 2.5 参数-d
      • 2.6 参数-H
      • 2.7 参数-F
      • 2.8 参数-O
      • 2.9 参数-o
      • 2.10 参数-u
      • 2.11 参数-b
      • 2.12 参数-G
    • 3. Awakening


在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


1. Introduction

[root@nolan ~]# curl -h
Usage: curl [options...] <url>
Options: (H) means HTTP/HTTPS only, (F) means FTP only
     --anyauth       Pick "any" authentication method (H)
 -a, --append        Append to target file when uploading (F/SFTP)
     --basic         Use HTTP Basic Authentication (H)
     --cacert FILE   CA certificate to verify peer against (SSL)
     --capath DIR    CA directory to verify peer against (SSL)
 -E, --cert CERT[:PASSWD] Client certificate file and password (SSL)
     --cert-type TYPE Certificate file type (DER/PEM/ENG) (SSL)
     --ciphers LIST  SSL ciphers to use (SSL)
     --compressed    Request compressed response (using deflate or gzip)
 -K, --config FILE   Specify which config file to read
     --connect-timeout SECONDS  Maximum time allowed for connection
 -C, --continue-at OFFSET  Resumed transfer offset
 -b, --cookie STRING/FILE  String or file to read cookies from (H)
 -c, --cookie-jar FILE  Write cookies to this file after operation (H)
     --create-dirs   Create necessary local directory hierarchy
     --crlf          Convert LF to CRLF in upload
     --crlfile FILE  Get a CRL list in PEM format from the given file
 -d, --data DATA     HTTP POST data (H)
     --data-ascii DATA  HTTP POST ASCII data (H)
     --data-binary DATA  HTTP POST binary data (H)
     --data-urlencode DATA  HTTP POST data url encoded (H)
     --delegation STRING GSS-API delegation permission
     --digest        Use HTTP Digest Authentication (H)
     --disable-eprt  Inhibit using EPRT or LPRT (F)
     --disable-epsv  Inhibit using EPSV (F)
 -D, --dump-header FILE  Write the headers to this file
     --egd-file FILE  EGD socket path for random data (SSL)
     --engine ENGINGE  Crypto engine (SSL). "--engine list" for list
 -f, --fail          Fail silently (no output at all) on HTTP errors (H)
 -F, --form CONTENT  Specify HTTP multipart POST data (H)
     --form-string STRING  Specify HTTP multipart POST data (H)
     --ftp-account DATA  Account data string (F)
     --ftp-alternative-to-user COMMAND  String to replace "USER [name]" (F)
     --ftp-create-dirs  Create the remote dirs if not present (F)
     --ftp-method [MULTICWD/NOCWD/SINGLECWD] Control CWD usage (F)
     --ftp-pasv      Use PASV/EPSV instead of PORT (F)
 -P, --ftp-port ADR  Use PORT with given address instead of PASV (F)
     --ftp-skip-pasv-ip Skip the IP address for PASV (F)
     --ftp-pret      Send PRET before PASV (for drftpd) (F)
     --ftp-ssl-ccc   Send CCC after authenticating (F)
     --ftp-ssl-ccc-mode ACTIVE/PASSIVE  Set CCC mode (F)
     --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F)
 -G, --get           Send the -d data with a HTTP GET (H)
 -g, --globoff       Disable URL sequences and ranges using {} and []
 -H, --header LINE   Custom header to pass to server (H)
 -I, --head          Show document info only
 -h, --help          This help text
     --hostpubmd5 MD5  Hex encoded MD5 string of the host public key. (SSH)
 -0, --http1.0       Use HTTP 1.0 (H)
     --ignore-content-length  Ignore the HTTP Content-Length header
 -i, --include       Include protocol headers in the output (H/F)
 -k, --insecure      Allow connections to SSL sites without certs (H)
     --interface INTERFACE  Specify network interface/address to use
 -4, --ipv4          Resolve name to IPv4 address
 -6, --ipv6          Resolve name to IPv6 address
 -j, --junk-session-cookies Ignore session cookies read from file (H)
     --keepalive-time SECONDS  Interval between keepalive probes
     --key KEY       Private key file name (SSL/SSH)
     --key-type TYPE Private key file type (DER/PEM/ENG) (SSL)
     --krb LEVEL     Enable Kerberos with specified security level (F)
     --libcurl FILE  Dump libcurl equivalent code of this command line
     --limit-rate RATE  Limit transfer speed to this rate
 -l, --list-only     List only names of an FTP directory (F)
     --local-port RANGE  Force use of these local port numbers
 -L, --location      Follow redirects (H)
     --location-trusted like --location and send auth to other hosts (H)
 -M, --manual        Display the full manual
     --mail-from FROM  Mail from this address
     --mail-rcpt TO  Mail to this receiver(s)
     --mail-auth AUTH  Originator address of the original email
     --max-filesize BYTES  Maximum file size to download (H/F)
     --max-redirs NUM  Maximum number of redirects allowed (H)
 -m, --max-time SECONDS  Maximum time allowed for the transfer
     --metalink      Process given URLs as metalink XML file
     --negotiate     Use HTTP Negotiate Authentication (H)
 -n, --netrc         Must read .netrc for user name and password
     --netrc-optional Use either .netrc or URL; overrides -n
     --netrc-file FILE  Set up the netrc filename to use
 -N, --no-buffer     Disable buffering of the output stream
     --no-keepalive  Disable keepalive use on the connection
     --no-sessionid  Disable SSL session-ID reusing (SSL)
     --noproxy       List of hosts which do not use proxy
     --ntlm          Use HTTP NTLM authentication (H)
 -o, --output FILE   Write output to <file> instead of stdout
     --pass PASS     Pass phrase for the private key (SSL/SSH)
     --post301       Do not switch to GET after following a 301 redirect (H)
     --post302       Do not switch to GET after following a 302 redirect (H)
     --post303       Do not switch to GET after following a 303 redirect (H)
 -#, --progress-bar  Display transfer progress as a progress bar
     --proto PROTOCOLS  Enable/disable specified protocols
     --proto-redir PROTOCOLS  Enable/disable specified protocols on redirect
 -x, --proxy [PROTOCOL://]HOST[:PORT] Use proxy on given port
     --proxy-anyauth Pick "any" proxy authentication method (H)
     --proxy-basic   Use Basic authentication on the proxy (H)
     --proxy-digest  Use Digest authentication on the proxy (H)
     --proxy-negotiate Use Negotiate authentication on the proxy (H)
     --proxy-ntlm    Use NTLM authentication on the proxy (H)
 -U, --proxy-user USER[:PASSWORD]  Proxy user and password
     --proxy1.0 HOST[:PORT]  Use HTTP/1.0 proxy on given port
 -p, --proxytunnel   Operate through a HTTP proxy tunnel (using CONNECT)
     --pubkey KEY    Public key file name (SSH)
 -Q, --quote CMD     Send command(s) to server before transfer (F/SFTP)
     --random-file FILE  File for reading random data from (SSL)
 -r, --range RANGE   Retrieve only the bytes within a range
     --raw           Do HTTP "raw", without any transfer decoding (H)
 -e, --referer       Referer URL (H)
 -J, --remote-header-name Use the header-provided filename (H)
 -O, --remote-name   Write output to a file named as the remote file
     --remote-name-all Use the remote file name for all URLs
 -R, --remote-time   Set the remote file's time on the local output
 -X, --request COMMAND  Specify request command to use
     --resolve HOST:PORT:ADDRESS  Force resolve of HOST:PORT to ADDRESS
     --retry NUM   Retry request NUM times if transient problems occur
     --retry-delay SECONDS When retrying, wait this many seconds between each
     --retry-max-time SECONDS  Retry only within this period
 -S, --show-error    Show error. With -s, make curl show errors when they occur
 -s, --silent        Silent mode. Don't output anything
     --socks4 HOST[:PORT]  SOCKS4 proxy on given host + port
     --socks4a HOST[:PORT]  SOCKS4a proxy on given host + port
     --socks5 HOST[:PORT]  SOCKS5 proxy on given host + port
     --socks5-basic  Enable username/password auth for SOCKS5 proxies
     --socks5-gssapi Enable GSS-API auth for SOCKS5 proxies
     --socks5-hostname HOST[:PORT] SOCKS5 proxy, pass host name to proxy
     --socks5-gssapi-service NAME  SOCKS5 proxy service name for gssapi
     --socks5-gssapi-nec  Compatibility with NEC SOCKS5 server
 -Y, --speed-limit RATE  Stop transfers below speed-limit for 'speed-time' secs
 -y, --speed-time SECONDS  Time for trig speed-limit abort. Defaults to 30
     --ssl           Try SSL/TLS (FTP, IMAP, POP3, SMTP)
     --ssl-reqd      Require SSL/TLS (FTP, IMAP, POP3, SMTP)
 -2, --sslv2         Use SSLv2 (SSL)
 -3, --sslv3         Use SSLv3 (SSL)
     --ssl-allow-beast Allow security flaw to improve interop (SSL)
     --stderr FILE   Where to redirect stderr. - means stdout
     --tcp-nodelay   Use the TCP_NODELAY option
 -t, --telnet-option OPT=VAL  Set telnet option
     --tftp-blksize VALUE  Set TFTP BLKSIZE option (must be >512)
 -z, --time-cond TIME  Transfer based on a time condition
 -1, --tlsv1         Use => TLSv1 (SSL)
     --tlsv1.0       Use TLSv1.0 (SSL)
     --tlsv1.1       Use TLSv1.1 (SSL)
     --tlsv1.2       Use TLSv1.2 (SSL)
     --tlsv1.3       Use TLSv1.3 (SSL)
     --tls-max VERSION  Use TLS up to VERSION (SSL)
     --trace FILE    Write a debug trace to the given file
     --trace-ascii FILE  Like --trace but without the hex output
     --trace-time    Add time stamps to trace/verbose output
     --tr-encoding   Request compressed transfer encoding (H)
 -T, --upload-file FILE  Transfer FILE to destination
     --url URL       URL to work with
 -B, --use-ascii     Use ASCII/text transfer
 -u, --user USER[:PASSWORD]  Server user and password
     --tlsuser USER  TLS username
     --tlspassword STRING TLS password
     --tlsauthtype STRING  TLS authentication type (default SRP)
     --unix-socket FILE    Connect through this UNIX domain socket
 -A, --user-agent STRING  User-Agent to send to server (H)
 -v, --verbose       Make the operation more talkative
 -V, --version       Show version number and quit
 -w, --write-out FORMAT  What to output after completion
     --xattr        Store metadata in extended file attributes
 -q                 If used as the first parameter disables .curlrc

2. Detail

2.1 参数-k

  • 在发送https请求时,加上-k参数,否则会有如下证书的报错
    curl -k https://www.baidu.com/在这里插入图片描述

2.2 参数-X

  • 指定请求方法,如POST、GET等
    curl -k -X POST https://www.baidu.com
    curl -k -X GET https://XX -H ‘Cookie: session=eyJfcGVybWFuZW50IjpmYWxzZSwidXNlciI6eyJpZCI6MSwibmFtZSI6ImFkbWluIn19.YPovOg.oOLrM4Xgfs0qtw8-m4NxYLrpPks’

2.3 参数-x

  • 指定访问IP与端口号
    curl -k -x 192.168.4.12:80 https://www.baidu.com

2.4 参数-w %{http_code}

  • 返回值带上http响应码
    curl -k -w %{http_code} -X POST https://www.baidu.com
    curl -k -w %{time_connect}:%{time_starttransfer}:%{time_total} -X POST https://www.baidu.com

2.5 参数-d

  • 请求body(内容需要用单引号括起来)
    curl -k -w %{http_code} -X POST https://www.baidu.com -d ‘body内容’

2.6 参数-H

  • 添加header内容
    curl -k -w %{http_code} -X POST https://www.baidu.com -d ‘body内容’ -H ‘header内容’
    curl -H “Content-Type:application/json” -X POST -d ‘{“operator”: “killianxu”,“place_type”:“tt”}’ https://www.baidu.com

2.7 参数-F

  • body带文件
    curl -k -X POST https://www.baidu.com -F ‘file=@file_path’

2.8 参数-O

  • 将服务器回应保存成文件,并将 URL 的最后部分当作文件名
    curl -O http://www.baidu.com/index.html

2.9 参数-o

  • 将服务器的回应保存成文件,等同于wget命令
    curl -o example.html http://www.baidu.com

2.10 参数-u

  • curl提交用户名和密码
    curl http://name:passwd@www.baidu.com
    curl -u name:passwd http://www.baidu.com

2.11 参数-b

  • 携带cookie的请求
    和参数-H功能差不多
    curl -b ‘session=D0112A5063D938586B659EF8F939BE24’ http://www.baidu.com

2.12 参数-G

  • 用来构造 URL 的查询字符串
    https://google.com/search?q=kitties&count=20
    curl -G -d ‘q=kitties’ -d ‘count=20’ https://google.com/search
  • 如果数据需要 URL 编码,可以结合–data–urlencode参数
    curl -G --data-urlencode ‘comment=hello world’ https://www.example.com

3. Awakening

         在一秒钟内看到本质的人和花半辈子也看不清一件事本质的人,自然是不一样的命运。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何快速部署一款小程序

小程序现在大家都不陌生&#xff0c;微信&#xff0c;qq&#xff0c;抖音&#xff0c;支付宝等等都有小程序&#xff0c;今天给的大家带有通用的小程序&#xff0c;如何快速部署两种方式&#xff1a;自己纯手工开发&#xff0c;或者找别人开发不管哪种方式&#xff0c;今天我带…

【数据结构与算法】选择排序

文章目录选择排序什么是选择排序&#xff1f;选择排序实例分析算法分析代码部分选择排序 什么是选择排序&#xff1f; 选择排序是一种简单直观的排序算法。 它的工作原理是&#xff1a;每一轮从待排序列中选取一个值最小的元素&#xff0c;将它和当前序列的第一个元素互换。 可…

【GD32F427开发板试用】4. ADC采集摇杆模块移动量

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;hehung 之前发帖 【GD32F427开发板试用】1. 串口实现scanf输入控制LED 【GD32F427开发板试用】2. RT-Thread标准版移植 【GD32F427开发板试用…

vue利用provide和inject做套娃组件设计

provide和inject原来用的不多&#xff0c;只是见人引用axios的时候在main.js里使用provide来注入 app.provide(axios, axios) 这样&#xff0c;在所有的vue文件里都可以使用inject来获取这个注入的axios const axios inject("axios"); 这种利用provide和inject做…

(考研湖科大教书匠计算机网络)第一章概述-第五节3:计算机网络体系结构之相关专业术语

文章目录一&#xff1a;实体二&#xff1a;协议三&#xff1a;服务四&#xff1a;协议数据单元本节对应视频 【计算机网络微课堂&#xff08;有字幕无背景音乐版&#xff09;】&#xff1a;1.6 计算机网络体系结构&#xff08;4&#xff09;—专用术语 注意&#xff1a;本节内容…

2023MyBatis精选面试题2(8道)

一. MyBatis的框架架构设计是怎么样的这张图从上往下看。MyBatis的初始化&#xff0c;会从mybatis-config.xml配置文件&#xff0c;解析构造成Configuration这个类&#xff0c;就是图中的红框。1. 加载配置&#xff1a;配置来源于两个地方&#xff0c;一处是配置文件&#xff0…

【阅读笔记】《重构》 第一二章

第一章 重构&#xff0c;第一个案例 编译器不会在乎代码好不好看&#xff0c;都是正常运行的。但人在乎&#xff0c;差劲的系统很难修改&#xff0c;因为很难找到修改点&#xff0c;导致程序员很有可能犯错&#xff0c;从而引入bug 重构的第一步 得为即将修改的代码建立一组…

自动化测试Selenium【基础篇一】

自动化测试Selenium【基础篇一】&#x1f34e;一.什么是自动化测试&#x1f352;1.1 自动化测试介绍&#x1f352;1.2 单元测试&#x1f352;1.3 接口自动化&#x1f352;1.4 UI自动化&#x1f352;1.5 为什么选择selenium作为我们的web自动化工具?&#x1f352;1.6什么是驱动…

DaVinci:限定器 - RGB

调色页面&#xff1a;限定器Color&#xff1a;Qualifier限定器 - RGB Qualifier - RGB根据像素的三原色通道&#xff08;红、绿、蓝&#xff09;的值来选择画面上的对应区域&#xff0c;从而限制节点调色的范围。限定器 - RGB 根据指定的各个原色通道的色阶范围来选择连续的近似…

Java 对象处理流(ObjectOutputStream\ObjectInputStream)

文章目录前言什么是对象流&#xff1f;基本介绍ObjectOutputStreamObjectInputStream对象处理流的使用细节前言 处理流&#xff1a;是对一个已存在的流进行处理和封装&#xff0c;通过所封装的流的功能调用实现对数据的操作。而处理流中也有不同的分类&#xff0c;此片介绍的是…

C规范编辑笔记(十一)

往期文章&#xff1a; C规范编辑笔记(一) C规范编辑笔记(二) C规范编辑笔记(三) C规范编辑笔记(四) C规范编辑笔记(五) C规范编辑笔记(六) C规范编辑笔记(七) C规范编辑笔记(八) C规范编辑笔记(九) C规则编辑笔记(十) 正文&#xff1a; 因为太久没有更新了&#xff0c;今天就…

Elasticsearch7.8.0版本高级查询—— 多关键字精确查询文档

目录一、初始化文档数据二、多关键字精确查询文档2.1、概述2.2、示例一、初始化文档数据 在 Postman 中&#xff0c;向 ES 服务器发 POST 请求 &#xff1a;http://localhost:9200/user/_doc/1&#xff0c;请求体内容为&#xff1a; {"name":"张三","…

干货 | 算力网络节点可信度评估和安全管控方案

以下内容整理自清华大学《数智安全与标准化》课程大作业期末报告同学的汇报内容。第一部分&#xff1a;算力网络第二部分&#xff1a;可信度评估一、可信度评估在整个算力网络处理任务的实施流程中&#xff0c;不同部分有不同可信度评估的方法&#xff0c;具体包括&#xff1a;…

忙活了一年的开源社区,终于赶上了春节前的末班车!

随着春节的临近&#xff0c;忙碌了一年的小伙伴们&#xff0c;是不是都已经踏上了回乡的列车&#xff1f;我呢也终于在春节前&#xff0c;完成了 HelloGitHub.com 的重构。HelloGitHub.com 是我在 2017 年的时候用 FlaskjQuery 开发的网站&#xff0c;最初的想法很简单就是为了…

MySQL34道练习题

1、取得每个部门最高薪水的人员名称&#xff08;要求显示部门编号、人员名称和薪资&#xff09; 第一步&#xff1a;查询每个部门的最高薪资 SELECT deptno,max(sal) as maxsal FROM emp GROUP BY deptno; 第二步&#xff1a;把上面查询结果当做临时表t&#xff0…

Pagoda panel宝塔面板

宝塔面板是干什么的&#xff1f;有哪些典型的功能作用?宝塔面板是开发的服务器管理工具&#xff0c;是一家专业从事服务器相关软件和服务研发的公司。宝塔的愿景是让用户更容易使用服务器。宝塔面板是一款服务器管理软件&#xff0c;支持Windows和Linux系统&#xff0c;服务器…

【SpringCloud18】SpringCloud Alibaba Nacos服务注册和配置中心

1.Nacos简介 1.1为什么叫Nacos 前四个字母分别为Naming和Configuration的前两个字母&#xff0c;最后的s为Service 1.2 是什么 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台Nacos:Dynamic Naming and Configuration ServiceNacos就是注册中心 配置中心…

简单双向LSTM模型实战项目

前言 数据来自于kaggle比赛Ventilator Pressure Prediction&#xff0c;数据背景介绍请看官方说明代码来自于当前排名第一的团队Shujun, Kha, Zidmie, Gilles, B&#xff0c;他们在获得第一名的成绩以后发了一篇博客&#xff0c;提供了他们在比赛中使用的模型&#xff0c;包括…

[C/C++]对象指针

对象指针 1.对象指针变量 和基本类型变量一样&#xff0c;对象在初始化之后也会在内存中占有若干字节的内存空间。因此在程序中&#xff0c;我们可以通过对象名或对象的地址来访问该对象。对象指针变量就是一个用于保存对象在内存中存储空间首地址的指针变量&#xff0c;它与普…

Python Matplotlib 中如何用 plt.savefig 存储图片

目录前言正文前言 plt.show()展示图片的时候&#xff0c;截图进行保存&#xff0c;图片不是多么清晰 如何保存高清图也是一知识点 函数包名&#xff1a;import matplotlib.pyplot as plt 正文 主要功能&#xff1a;保存绘制数据后创建的图形。使用此方法可以将创建的图形保…