linux curl指令详解及实例共享(转)ITeye - 娱乐之横扫全球

linux curl指令详解及实例共享(转)ITeye

2019年03月25日14时07分02秒 | 作者: 幼南 | 标签: 运用,文件,指令 | 浏览: 2968



linux curl是一个运用URL规则在指令行下作业的文件传输东西。它支撑文件的上传和下载,所以是归纳传输东西,但按传统,习惯称url为下载东西。

一,curl指令参数,有很多我没有用过,也不知道翻译的对不对,假如有误的当地,还请纠正。

-a/append 上传文件时,附加到方针文件

-A/user-agent string   设置用户署理发送给服务器

- anyauth  能够运用“任何”身份验证办法

-b/cookie name=string/file cookie字符串或文件读取方位

- basic 运用HTTP根本验证

-B/use-ascii 运用ASCII /文本传输

-c/cookie-jar file 操作完毕后把cookie写入到这个文件中

-C/continue-at offset   断点续转

-d/data data   HTTP POST办法传送数据

data-ascii data   以ascii的办法post数据

data-binary data 以二进制的办法post数据

negotiate  运用HTTP身份验证

digest  运用数字身份验证

disable-eprt  制止运用EPRT或LPRT

disable-epsv  制止运用EPSV

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

egd-file file 为随机数据(SSL)设置EGD socket途径

tcp-nodelay  运用TCP_NODELAY选项

-e/referer 来历网址

-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

-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 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疏忽会话Cookie

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

- krb4 等级 启用与指定的安全等级krb4

-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 禁用缓冲输出

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

-O/remote-name 把输出写到该文件中,保存长途文件的文件名

-p/proxytunnel  运用HTTP署理

proxy-anyauth 挑选任一署理身份验证办法

proxy-basic  在署理上运用根本身份验证

proxy-digest  在署理上运用数字身份验证

proxy-ntlm  在署理上运用ntlm身份验证

-P/ftp-port address 运用端口地址,而不是运用PASV

-Q/quote cmd 文件传输前,发送指令到服务器

-r/range range 检索来自HTTP/1.1或FTP服务器字节规模

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

-R/remote-time  在本地生成文件时,保存长途文件时刻

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

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

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

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

-S/show-error  显现过错

socks4 host[:port] 用socks4署理给定主机和端口

socks5 host[:port] 用socks5署理给定主机和端口

stderr file
-t/telnet-option OPT=val Telnet选项设置

trace file   对指定文件进行debug

trace-ascii file Like 盯梢但没有hex输出

trace-time  盯梢/详细输出时,增加时刻戳

-T/upload-file file 上传文件

url URL   Spet URL to work with

-u/user user[:password] 设置服务器的用户和暗码

-U/proxy-user user[:password] 设置署理用户名和暗码

-v/verbose

-V/version 显现版别信息

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

-x/proxy host[:port] 在给定的端口上运用HTTP署理

-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

-#/progress-bar 用进展条显现当时的传送状况

-a/append 上传文件时,附加到方针文件

-A/user-agent string   设置用户署理发送给服务器

- anyauth  能够运用“任何”身份验证办法

-b/cookie name=string/file cookie字符串或文件读取方位

- basic 运用HTTP根本验证

-B/use-ascii 运用ASCII /文本传输

-c/cookie-jar file 操作完毕后把cookie写入到这个文件中

-C/continue-at offset   断点续转

-d/data data   HTTP POST办法传送数据

data-ascii data   以ascii的办法post数据

data-binary data 以二进制的办法post数据

negotiate  运用HTTP身份验证

digest  运用数字身份验证

disable-eprt  制止运用EPRT或LPRT

disable-epsv  制止运用EPSV

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

egd-file file 为随机数据(SSL)设置EGD socket途径

tcp-nodelay  运用TCP_NODELAY选项

-e/referer 来历网址

-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

-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 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疏忽会话Cookie

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

- krb4 等级 启用与指定的安全等级krb4

-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 禁用缓冲输出

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

-O/remote-name 把输出写到该文件中,保存长途文件的文件名

-p/proxytunnel  运用HTTP署理

proxy-anyauth 挑选任一署理身份验证办法

proxy-basic  在署理上运用根本身份验证

proxy-digest  在署理上运用数字身份验证

proxy-ntlm  在署理上运用ntlm身份验证

-P/ftp-port address 运用端口地址,而不是运用PASV

-Q/quote cmd 文件传输前,发送指令到服务器

-r/range range 检索来自HTTP/1.1或FTP服务器字节规模

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

-R/remote-time  在本地生成文件时,保存长途文件时刻

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

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

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

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

-S/show-error  显现过错

socks4 host[:port] 用socks4署理给定主机和端口

socks5 host[:port] 用socks5署理给定主机和端口

stderr file

-t/telnet-option OPT=val Telnet选项设置

trace file   对指定文件进行debug

trace-ascii file Like 盯梢但没有hex输出

trace-time  盯梢/详细输出时,增加时刻戳

-T/upload-file file 上传文件

url URL   Spet URL to work with

-u/user user[:password] 设置服务器的用户和暗码

-U/proxy-user user[:password] 设置署理用户名和暗码

-v/verbose

-V/version 显现版别信息

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

-x/proxy host[:port] 在给定的端口上运用HTTP署理

-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

-#/progress-bar 用进展条显现当时的传送状况

二,常用curl实例

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

[root@krlcgcms01 mytest]# curl -o home.html  http://www.jb51.net

[root@krlcgcms01 mytest]# curl -o home.html  http://www.jb51.net

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=****** http://www.jb51.net/wp-login.php

[root@krlcgcms01 mytest]# curl -c ./cookie_c.txt -F log=aaaa -F pwd=****** http://www.jb51.net/wp-login.php

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

[root@krlcgcms01 mytest]# curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http://www.jb51.net/wp-login.php

[root@krlcgcms01 mytest]# curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http://www.jb51.net/wp-login.php

-c(小写)发生的cookie和-D里边的cookie是不一样的。

5,运用cookie文件

[root@krlcgcms01 mytest]# curl -b ./cookie_c.txt  http://www.jb51.net/wp-admin

[root@krlcgcms01 mytest]# curl -b ./cookie_c.txt  http://www.jb51.net/wp-admin

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

[root@krlcgcms01 mytest]# curl -C -O

7,传送数据,最好用登录页面测验,由于你传值曩昔后,curl回抓数据,你能够看到你传值有没有成功

[root@krlcgcms01 mytest]# curl -d log=aaaa  http://www.jb51.net/wp-login.php

[root@krlcgcms01 mytest]# curl -d log=aaaa  http://www.jb51.net/wp-login.php

8,显现抓取过错,下面这个比如,很清楚的表明晰。

[root@krlcgcms01 mytest]# curl -f http://www.jb51.net/asdf

curl: (22) The requested URL returned error: 404

[root@krlcgcms01 mytest]# curl http://www.jb51.net/asdf

HTML HEAD TITLE 404,not found /TITLE

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

[root@krlcgcms01 mytest]# curl -f http://www.jb51.net/asdf

curl: (22) The requested URL returned error: 404

[root@krlcgcms01 mytest]# curl http://www.jb51.net/asdf

HTML HEAD TITLE 404,not found /TITLE

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

9,假造来历地址,有的网站会判别,恳求来历地址。

[root@krlcgcms01 mytest]# curl -e http://localhost http://www.jb51.net/wp-login.php

[root@krlcgcms01 mytest]# curl -e http://localhost http://www.jb51.net/wp-login.php

10,当咱们经常用curl去搞人家东西的时分,人家会把你的IP给屏蔽掉的,这个时分,咱们能够用署理

[root@krlcgcms01 mytest]# curl -x 24.10.28.84:32779 -o home.html http://www.jb51.net

[root@krlcgcms01 mytest]# curl -x 24.10.28.84:32779 -o home.html http://www.jb51.net
11,比较大的东西,咱们能够分段下载

[root@krlcgcms01 mytest]# curl -r 0-100 -o img.part1 /uploads/allimg/190109/20190109214842layvsislvun1996.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 /uploads/allimg/190109/20190109214842layvsislvun1996.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 /uploads/allimg/190109/20190109214842layvsislvun1996.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 /uploads/allimg/190109/20190109214842layvsislvun1996.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 /uploads/allimg/190109/20190109214842layvsislvun1996.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 /uploads/allimg/190109/20190109214842layvsislvun1996.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 http://www.jb51.net/demo/curtain/bbstudy_files/style.css

% 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 http://www.jb51.net/demo/curtain/bbstudy_files/style.css

% 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/
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章