搜索
首页运维linux运维linux curl命令参数有哪些及怎么使用

linux curl是一个利用url规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具。

  一,curl命令参数

  -a/--append 上传文件时,附加到目标文件

  -a/--user-agent   设置用户代理发送给服务器

  - anyauth   可以使用“任何”身份验证方法

  -b/--cookie cookie字符串或文件读取位置

  - basic 使用http基本验证

  -b/--use-ascii 使用ascii /文本传输

  -c/--cookie-jar 操作结束后把cookie写入到这个文件中

  -c/--continue-at   断点续转

  -d/--data    http post方式传送数据

  --data-ascii   以ascii的方式post数据

  --data-binary 以二进制的方式post数据

  --negotiate     使用http身份验证

  --digest        使用数字身份验证

  --disable-eprt  禁止使用eprt或lprt

  --disable-epsv  禁止使用epsv

  -d/--dump-header 把header信息写入到该文件中

  --egd-file 为随机数据(ssl)设置egd socket路径

  --tcp-nodelay   使用tcp_nodelay选项

  -e/--referer 来源网址

  -e/--cert 客户端证书文件和密码 (ssl)

  --cert-type 证书文件类型 (der/pem/eng) (ssl)

  --key      私钥文件名 (ssl)

  --key-type 私钥文件类型 (der/pem/eng) (ssl)

  --pass    私钥密码 (ssl)

  --engine   加密引擎使用 (ssl). "--engine list" for list

  --cacert ca证书 (ssl)

  --capath ca目录 (made using c_rehash) to verify peer against (ssl)

  --ciphers   ssl密码

  --compressed    要求返回是压缩的形势 (using deflate or gzip)

  --connect-timeout 设置最大请求时间

  --create-dirs   建立本地目录的目录层次结构

  --crlf          上传是把lf转变成crlf

  -f/--fail          连接失败时不显示http错误

  --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 模拟http表单提交数据

  -form-string 模拟http表单提交数据

  -g/--globoff 禁用网址序列和范围使用{}和[]

  -g/--get 以get的方式来发送数据

  -h/--help 帮助

  -h/--header 自定义头信息传递给服务器

  --ignore-content-length  忽略的http头信息的长度

  -i/--include 输出时包括protocol头信息

  -i/--head  只显示文档信息

  从文件中读取-j/--junk-session-cookies忽略会话cookie

  - 界面指定网络接口/地址使用

  - krb4 <级别>启用与指定的安全级别krb4

  -j/--junk-session-cookies 读取文件进忽略session cookie

  --interface 使用指定网络接口/地址

  --krb4   使用指定安全级别的krb4

  -k/--insecure 允许不使用证书到ssl站点

  -k/--config  指定的配置文件读取

  -l/--list-only 列出ftp目录下的文件名称

  --limit-rate 设置传输速度

  --local-port 强制使用本地端口号

  -m/--max-time 设置最大传输时间

  --max-redirs 设置最大读取的目录数

  --max-filesize 设置最大下载的文件总量

  -m/--manual  显示全手动

  -n/--netrc 从netrc文件中读取用户名和密码

  --netrc-optional 使用 .netrc 或者 url来覆盖-n

  --ntlm          使用 http ntlm 身份验证

  -n/--no-buffer 禁用缓冲输出

  -o/--output 把输出写到该文件中

  -o/--remote-name 把输出写到该文件中,保留远程文件的文件名

  -p/--proxytunnel   使用http代理

  --proxy-anyauth 选择任一代理身份验证方法

  --proxy-basic   在代理上使用基本身份验证

  --proxy-digest  在代理上使用数字身份验证

  --proxy-ntlm    在代理上使用ntlm身份验证

  -p/--ftp-port

使用端口地址,而不是使用pasv

  -q/--quote 文件传输前,发送命令到服务器

  -r/--range 检索来自http/1.1或ftp服务器字节范围

  --range-file 读取(ssl)的随机文件

  -r/--remote-time   在本地生成文件时,保留远程文件时间

  --retry    传输出现问题时,重试的次数

  --retry-delay   传输出现问题时,设置重试间隔时间

  --retry-max-time 传输出现问题时,设置最大重试时间

  -s/--silent静音模式。不输出任何东西

  -s/--show-error   显示错误

  --socks4 用socks4代理给定主机和端口

  --socks5 用socks5代理给定主机和端口

  --stderr
-t/--telnet-option telnet选项设置

  --trace   对指定文件进行debug

  --trace-ascii like --跟踪但没有hex输出

  --trace-time    跟踪/详细输出时,添加时间戳

  -t/--upload-file 上传文件

  --url      spet url to work with

  -u/--user 设置服务器的用户和密码

  -u/--proxy-user 设置代理用户名和密码

  -v/--verbose

  -v/--version 显示版本信息

  -w/--write-out [format]什么输出完成后

  -x/--proxy 在给定的端口上使用http代理

  -x/--request 指定什么命令

  -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

  -#/--progress-bar 用进度条显示当前的传送状态

  -a/--append 上传文件时,附加到目标文件

  -a/--user-agent   设置用户代理发送给服务器

  - anyauth   可以使用“任何”身份验证方法

  -b/--cookie cookie字符串或文件读取位置

  - basic 使用http基本验证

  -b/--use-ascii 使用ascii /文本传输

  -c/--cookie-jar 操作结束后把cookie写入到这个文件中

  -c/--continue-at   断点续转

  -d/--data    http post方式传送数据

  --data-ascii   以ascii的方式post数据

  --data-binary 以二进制的方式post数据

  --negotiate     使用http身份验证

  --digest        使用数字身份验证

  --disable-eprt  禁止使用eprt或lprt

  --disable-epsv  禁止使用epsv

  -d/--dump-header 把header信息写入到该文件中

  --egd-file 为随机数据(ssl)设置egd socket路径

  --tcp-nodelay   使用tcp_nodelay选项

  -e/--referer 来源网址

  -e/--cert 客户端证书文件和密码 (ssl)

  --cert-type 证书文件类型 (der/pem/eng) (ssl)

  --key      私钥文件名 (ssl)

  --key-type 私钥文件类型 (der/pem/eng) (ssl)

  --pass    私钥密码 (ssl)

  --engine   加密引擎使用 (ssl). "--engine list" for list

  --cacert ca证书 (ssl)

  --capath ca目录 (made using c_rehash) to verify peer against (ssl)

  --ciphers   ssl密码

  --compressed    要求返回是压缩的形势 (using deflate or gzip)

  --connect-timeout 设置最大请求时间

  --create-dirs   建立本地目录的目录层次结构

  --crlf          上传是把lf转变成crlf

  -f/--fail          连接失败时不显示http错误

  --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 模拟http表单提交数据

  -form-string 模拟http表单提交数据

  -g/--globoff 禁用网址序列和范围使用{}和[]

  -g/--get 以get的方式来发送数据

  -h/--help 帮助

  -h/--header 自定义头信息传递给服务器

  --ignore-content-length  忽略的http头信息的长度

  -i/--include 输出时包括protocol头信息

  -i/--head  只显示文档信息

  从文件中读取-j/--junk-session-cookies忽略会话cookie

  - 界面指定网络接口/地址使用

  - krb4 <级别>启用与指定的安全级别krb4

  -j/--junk-session-cookies 读取文件进忽略session cookie

  --interface 使用指定网络接口/地址

  --krb4   使用指定安全级别的krb4

  -k/--insecure 允许不使用证书到ssl站点

  -k/--config  指定的配置文件读取

  -l/--list-only 列出ftp目录下的文件名称

  --limit-rate 设置传输速度

  --local-port 强制使用本地端口号

  -m/--max-time 设置最大传输时间

  --max-redirs 设置最大读取的目录数

  --max-filesize 设置最大下载的文件总量
-m/--manual  显示全手动

  -n/--netrc 从netrc文件中读取用户名和密码

  --netrc-optional 使用 .netrc 或者 url来覆盖-n

  --ntlm          使用 http ntlm 身份验证

  -n/--no-buffer 禁用缓冲输出

  -o/--output 把输出写到该文件中

  -o/--remote-name 把输出写到该文件中,保留远程文件的文件名

  -p/--proxytunnel   使用http代理

  --proxy-anyauth 选择任一代理身份验证方法

  --proxy-basic   在代理上使用基本身份验证

  --proxy-digest  在代理上使用数字身份验证

  --proxy-ntlm    在代理上使用ntlm身份验证

  -p/--ftp-port

使用端口地址,而不是使用pasv

  -q/--quote 文件传输前,发送命令到服务器

  -r/--range 检索来自http/1.1或ftp服务器字节范围

  --range-file 读取(ssl)的随机文件

  -r/--remote-time   在本地生成文件时,保留远程文件时间

  --retry    传输出现问题时,重试的次数

  --retry-delay   传输出现问题时,设置重试间隔时间

  --retry-max-time 传输出现问题时,设置最大重试时间

  -s/--silent静音模式。不输出任何东西

  -s/--show-error   显示错误

  --socks4 用socks4代理给定主机和端口

  --socks5 用socks5代理给定主机和端口

  --stderr

  -t/--telnet-option telnet选项设置

  --trace   对指定文件进行debug

  --trace-ascii like --跟踪但没有hex输出

  --trace-time    跟踪/详细输出时,添加时间戳

  -t/--upload-file 上传文件

  --url      spet url to work with

  -u/--user 设置服务器的用户和密码

  -u/--proxy-user 设置代理用户名和密码

  -v/--verbose

  -v/--version 显示版本信息

  -w/--write-out [format]什么输出完成后

  -x/--proxy 在给定的端口上使用http代理

  -x/--request 指定什么命令

  -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

  -#/--progress-bar 用进度条显示当前的传送状态

  二,常用curl实例

  1,抓取页面内容到一个文件中

  [root@krlcgcms01 mytest]# curl -o home.html 

  [root@krlcgcms01 mytest]# curl -o home.html 

  2,用-o(大写的),后面的url要具体到某个文件,不然抓不下来。我们还可以用正则来抓取东西

  [root@krlcgcms01 mytest]# curl -o

  [root@krlcgcms01 mytest]# curl -o

  3,模拟表单信息,模拟登录,保存cookie信息

  [root@krlcgcms01 mytest]# curl -c ./cookie_c.txt -f log=aaaa -f pwd=******

  [root@krlcgcms01 mytest]# curl -c ./cookie_c.txt -f log=aaaa -f pwd=******

  4,模拟表单信息,模拟登录,保存头信息

  [root@krlcgcms01 mytest]# curl -d ./cookie_d.txt -f log=aaaa -f pwd=******

  [root@krlcgcms01 mytest]# curl -d ./cookie_d.txt -f log=aaaa -f pwd=******

  -c(小写)产生的cookie和-d里面的cookie是不一样的。

  5,使用cookie文件

  [root@krlcgcms01 mytest]# curl -b ./cookie_c.txt 

  [root@krlcgcms01 mytest]# curl -b ./cookie_c.txt 

  6,断点续传,-c(大写的)

  [root@krlcgcms01 mytest]# curl -c -o

  7,传送数据,最好用登录页面测试,因为你传值过去后,curl回抓数据,你可以看到你传值有没有成功

  [root@krlcgcms01 mytest]# curl -d log=aaaa 

  [root@krlcgcms01 mytest]# curl -d log=aaaa 

  8,显示抓取错误,下面这个例子,很清楚的表明了。

  [root@krlcgcms01 mytest]# curl -f

  curl: (22) the requested url returned error: 404

  [root@krlcgcms01 mytest]# curl

  404,not found

  。。。。。。。。。。。。

  [root@krlcgcms01 mytest]# curl -f

  curl: (22) the requested url returned error: 404

  [root@krlcgcms01 mytest]# curl

  404,not found

  。。。。。。。。。。。。

  9,伪造来源地址,有的网站会判断,请求来源地址。

  [root@krlcgcms01 mytest]# curl -e

  [root@krlcgcms01 mytest]# curl -e

  10,当我们经常用curl去搞人家东西的时候,人家会把你的ip给屏蔽掉的,这个时候,我们可以用代理

  [root@krlcgcms01 mytest]# curl -x 24.10.28.84:32779 -o home.html

  [root@krlcgcms01 mytest]# curl -x 24.10.28.84:32779 -o home.html
11,比较大的东西,我们可以分段下载

  [root@krlcgcms01 mytest]# curl -r 0-100 -o img.part1 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % received % xferd  average speed   time    time     time  current

  dload  upload   total   spent    left  speed

  100   101  100   101    0     0    105      0 --:--:-- --:--:-- --:--:--     0

  [root@krlcgcms01 mytest]# curl -r 100-200 -o img.part2 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % received % xferd  average speed   time    time     time  current

  dload  upload   total   spent    left  speed

  100   101  100   101    0     0     57      0  0:00:01  0:00:01 --:--:--     0

  [root@krlcgcms01 mytest]# curl -r 200- -o img.part3 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % received % xferd  average speed   time    time     time  current

  dload  upload   total   spent    left  speed

  100  104k  100  104k    0     0  52793      0  0:00:02  0:00:02 --:--:-- 88961

  [root@krlcgcms01 mytest]# ls |grep part | xargs du -sh

  4.0k    one.part1

  112k    three.part3

  4.0k    two.part2

  [root@krlcgcms01 mytest]# curl -r 0-100 -o img.part1 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % received % xferd  average speed   time    time     time  current

  dload  upload   total   spent    left  speed

  100   101  100   101    0     0    105      0 --:--:-- --:--:-- --:--:--     0

  [root@krlcgcms01 mytest]# curl -r 100-200 -o img.part2 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % received % xferd  average speed   time    time     time  current

  dload  upload   total   spent    left  speed

  100   101  100   101    0     0     57      0  0:00:01  0:00:01 --:--:--     0

  [root@krlcgcms01 mytest]# curl -r 200- -o img.part3 -

  content/uploads/2010/09/compare_varnish.jpg

  % total    % received % xferd  average speed   time    time     time  current

  dload  upload   total   spent    left  speed

  100  104k  100  104k    0     0  52793      0  0:00:02  0:00:02 --:--:-- 88961

  [root@krlcgcms01 mytest]# ls |grep part | xargs du -sh

  4.0k    one.part1

  112k    three.part3

  4.0k    two.part2

  用的时候,把他们cat一下就ok了,cat img.part* >img.jpg

  12,不会显示下载进度信息

  [root@krlcgcms01 mytest]# curl -s -o aaa.jpg

  13,显示下载进度条

  [root@krlcgcms01 mytest]# curl -# -o

  ######################################################################## 100.0%

  14,通过ftp下载文件

  [zhangy@blackghost ~]$ curl -u 用户名:密码 -o

  % total    % received % xferd  average speed   time    time     time  current

  dload  upload   total   spent    left  speed

  101  1934  101  1934    0     0   3184      0 --:--:-- --:--:-- --:--:--  7136

  [zhangy@blackghost ~]$ curl -u 用户名:密码 -o

  % total    % received % xferd  average speed   time    time     time  current

  dload  upload   total   spent    left  speed

  101  1934  101  1934    0     0   3184      0 --:--:-- --:--:-- --:--:--  7136

  或者用下面的方式

  [zhangy@blackghost ~]$ curl -o ftp://用户名:密码@ip:port/demo/curtain/bbstudy_files/style.css

  [zhangy@blackghost ~]$ curl -o ftp://用户名:密码@ip:port/demo/curtain/bbstudy_files/style.css

  15,通过ftp上传

  [zhangy@blackghost ~]$ curl -t test.sql ftp://用户名:密码@ip:port/demo/curtain/bbstudy_files/

  [zhangy@blackghost ~]$ curl -t test.sql ftp://用户名:密码@ip:port/demo/curtain/bbstudy_files/

以上是linux curl命令参数有哪些及怎么使用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除
Linux操作:系统管理和维护Linux操作:系统管理和维护Apr 15, 2025 am 12:10 AM

Linux系统管理和维护的关键步骤包括:1)掌握基础知识,如文件系统结构和用户管理;2)进行系统监控与资源管理,使用top、htop等工具;3)利用系统日志进行故障排查,借助journalctl等工具;4)编写自动化脚本和任务调度,使用cron工具;5)实施安全管理与防护,通过iptables配置防火墙;6)进行性能优化与最佳实践,调整内核参数和养成良好习惯。

了解Linux的维护模式:必需品了解Linux的维护模式:必需品Apr 14, 2025 am 12:04 AM

Linux维护模式通过在启动时添加init=/bin/bash或single参数进入。1.进入维护模式:编辑GRUB菜单,添加启动参数。2.重新挂载文件系统为读写模式:mount-oremount,rw/。3.修复文件系统:使用fsck命令,如fsck/dev/sda1。4.备份数据并谨慎操作,避免数据丢失。

Debian如何提升Hadoop数据处理速度Debian如何提升Hadoop数据处理速度Apr 13, 2025 am 11:54 AM

本文探讨如何在Debian系统上提升Hadoop数据处理效率。优化策略涵盖硬件升级、操作系统参数调整、Hadoop配置修改以及高效算法和工具的运用。一、硬件资源强化确保所有节点硬件配置一致,尤其关注CPU、内存和网络设备性能。选择高性能硬件组件对于提升整体处理速度至关重要。二、操作系统调优文件描述符和网络连接数:修改/etc/security/limits.conf文件,增加系统允许同时打开的文件描述符和网络连接数上限。JVM参数调整:在hadoop-env.sh文件中调整

Debian syslog如何学习Debian syslog如何学习Apr 13, 2025 am 11:51 AM

本指南将指导您学习如何在Debian系统中使用Syslog。Syslog是Linux系统中用于记录系统和应用程序日志消息的关键服务,它帮助管理员监控和分析系统活动,从而快速识别并解决问题。一、Syslog基础知识Syslog的核心功能包括:集中收集和管理日志消息;支持多种日志输出格式和目标位置(例如文件或网络);提供实时日志查看和过滤功能。二、安装和配置Syslog(使用Rsyslog)Debian系统默认使用Rsyslog。您可以通过以下命令安装:sudoaptupdatesud

Debian中Hadoop版本怎么选Debian中Hadoop版本怎么选Apr 13, 2025 am 11:48 AM

选择适合Debian系统的Hadoop版本,需要综合考虑以下几个关键因素:一、稳定性与长期支持:对于追求稳定性和安全性的用户,建议选择Debian稳定版,例如Debian11(Bullseye)。该版本经过充分测试,拥有长达五年的支持周期,能够确保系统稳定运行。二、软件包更新速度:如果您需要使用最新的Hadoop功能和特性,则可以考虑Debian的不稳定版(Sid)。但需注意,不稳定版可能存在兼容性问题和稳定性风险。三、社区支持与资源:Debian拥有庞大的社区支持,可以提供丰富的文档和

Debian上TigerVNC共享文件方法Debian上TigerVNC共享文件方法Apr 13, 2025 am 11:45 AM

本文介绍如何在Debian系统上使用TigerVNC共享文件。你需要先安装TigerVNC服务器,然后进行配置。一、安装TigerVNC服务器打开终端。更新软件包列表:sudoaptupdate安装TigerVNC服务器:sudoaptinstalltigervnc-standalone-servertigervnc-common二、配置TigerVNC服务器设置VNC服务器密码:vncpasswd启动VNC服务器:vncserver:1-localhostno

Debian邮件服务器防火墙配置技巧Debian邮件服务器防火墙配置技巧Apr 13, 2025 am 11:42 AM

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置

Debian邮件服务器SSL证书安装方法Debian邮件服务器SSL证书安装方法Apr 13, 2025 am 11:39 AM

在Debian邮件服务器上安装SSL证书的步骤如下:1.安装OpenSSL工具包首先,确保你的系统上已经安装了OpenSSL工具包。如果没有安装,可以使用以下命令进行安装:sudoapt-getupdatesudoapt-getinstallopenssl2.生成私钥和证书请求接下来,使用OpenSSL生成一个2048位的RSA私钥和一个证书请求(CSR):openss

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中