curl 命令使用记录

curl使用记录

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

curl语法命令:

[[email protected] test]# 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 <directory> 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    断点续传,第二个 - 表示自动寻找对应的文件,也可以直接指定名称    curl -C - -O URL
 -b/--cookie <name=string/file> Cookie 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 <name=data/[email protected]> 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 <eng>  Crypto engine to use (SSL). "--engine list" for list
 -f/--fail          Fail silently (no output at all) on HTTP errors (H)
 -F/--form <name=content> Specify HTTP multipart POST data (H)
    --form-string <name=string> Specify HTTP multipart POST data (H)
    --ftp-account <data> Account data to send when requested by server (F)
    --ftp-alternative-to-user <cmd> 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 <address> Use PORT with address instead of PASV (F)
    --ftp-skip-pasv-ip Skip the IP address for PASV (F)
    --ftp-ssl       Try SSL/TLS for ftp transfer (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)
    --ftp-ssl-reqd  Require SSL/TLS for ftp 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    限定传输速率,单位字节(B)
 -l/--list-only     List only names of an FTP directory (F)
    --local-port <num>[-num] Force use of these local port numbers
 -L/--location      Follow Location: hints (H)
    --location-trusted Follow Location: and send auth to other hosts (H)  访问重定向的URL,例如访问 www.google.com 会返回302重定向到 www.google.com.hk  root #> curl http://www.google.com
 -M/--manual        Display the full manual
    --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
    --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
 -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       Comma-separated list of hosts which do not use proxy
    --ntlm          Use HTTP NTLM authentication (H)
 --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)
 -#/--progress-bar  Display transfer progress as a progress bar
 -x/--proxy <host[:port]> Use HTTP 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]> Set 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 file transfer (F/SFTP)
    --random-file <file> File for reading random data from (SSL)
 -r/--range <range> Retrieve only the bytes within a range
    --raw           Pass HTTP "raw", without any transfer decoding (H)
 -e/--referer       Referer URL (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     将标准输出导入到文件中,并使用远程文件名作为文件名,可以同时获取多个文件,每个URL都必须添加 -O参数,否则不保存    同时获取多个URL,将所有的URL的输出保存到和远程文件名相同的本地文件中    root# > curl -O http://www.cnblogs.com/lvxiaobo616/p/5636006.html -O  http://www.cnblogs.com/lvxiaobo616/p/6612900.html    root# > curl --remote-name-all http://www.cnblogs.com/lvxiaobo616/p/5636006.html -O  http://www.cnblogs.com/lvxiaobo616/p/6612900.html-R/--remote-time Set the remote file‘s time on the local output -X/--request <command> Specify request command to use   --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-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 Stop transfer if below speed-limit for ‘speed-time‘ secs -y/--speed-time Time needed to trig speed-limit abort. Defaults to 30 -2/--sslv2 Use SSLv2 (SSL) -3/--sslv3 Use SSLv3 (SSL)   --stderr <file> Where to redirect stderr. - means stdout   --tcp-nodelay Use the TCP_NODELAY option -t/--telnet-option <OPT=val> Set telnet option -z/--time-cond <time> Transfer based on a time condition -1/--tlsv1 Use TLSv1 (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 -T/--upload-file <file> Transfer <file> to remote site   --url <URL> Set URL to work with -B/--use-ascii Use ASCII/text transfer -u/--user <user[:password]> Set server user and password -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 -q         If used as the first parameter disables .curlrc

 

时间: 2024-07-29 19:27:47

curl 命令使用记录的相关文章

curl 命令详解(转)

命令事例 1.读取网页,将网页内容全部输出 curl http://www.linuxidc.com 2.保存网页.下载文件 以page.html命名下载网页:curl –o page.html http://www.linuxidc.com 以服务器上的文件名命名网页:curl –O http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG 批量下载文件:curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen[1-10].JP

CURL --- 命令行浏览器

来源:http://blog.163.com/sam_chen_cn/blog/static/121643873201162992241114/ CURL --- 命令行浏览器 这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑 1)二话不说,先从这里开始吧! curl http://www.yahoo.com 回车之后,www.yahoo.com 的html就稀里哗啦地显示在屏幕上了~~~~~ 2)嗯,要想把读过来页面存下来,是不是要这样呢?curl http://www.yah

curl命令的使用

最近公司和另外一个公司合作,该公司会定期给我们公司传送一批对我们公司有用的产品信息数据,并且要保存到数据库中,以备将来所用,当然这个任务就落在了我的身上.很快就写好了模型(用来保存产品信息的数据模型)以及接口函数,接口函数是以POST方式接收数据,写完接口函数后当然就是测试了,但是之前没测试过以post方式接收数据的api(原谅一个经验不丰富的人的无知...),但是还是让我找到了测试方法,不就是远程post方式提交表单嘛,网上很多例子,在此贴上我的代码,其实不难,理解了几个包的方法,这段代码还是

Linux系统中的curl命令使用教程

这篇文章主要介绍了Linux系统中的curl命令使用教程,是Linux入门学习中的基础知识,需要的朋友可以参考下. 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具.语法:# curl [option] [url]常见参数:-A/--user-agent <string>              设置用户代理发送给服务器-b/--cookie

curl命令使用大全

本文是 http://www.51osos.com/a/Linux_CentOS_RedHat/Linuxjichu/2010/1025/curl.html 以及 http://hi.baidu.com/yschen0925/blog/item/d62851072f10eaca7b894790.html 的汇总. 今天51开源给大家讲细讲解curl这个命令. 可以看作命令行浏览器 1.开启gzip请求 curl -I http://www.sina.com.cn/ -H Accept-Encod

Curl命令、Elinks命令、lynx命令、Wget命令、lftp命令

一.Curl命令 语法 curl(选项)(参数) 选项 -a/--append 上传文件时,附加到目标文件 -A/--user-agent <string> 设置用户代理发送给服务器 -anyauth 可以使用"任何"身份验证方法 -b/--cookie <name=string/file> cookie字符串或文件读取位置      --basic 使用HTTP基本验证 -B/--use-ascii 使用ASCII /文本传输 -c/--cookie-jar

cmd - 使用curl命令的注意点

前言 最近在cmd中使用curl命令来测试rest api,发现有不少问题,这里记录一下. 在cmd中使用curl命令的注意事项 json不能由单引号包括起来 json数据里的双引号要用反斜杠\转义 json数据里不能带有空格 如果想要在json数据里使用空格则必须用双引号将整个json数据包括起来 Content-type要由双引号包括起来 比如下边的例子就是正确的格式: curl -X POST localhost:8080/employees -H "Content-type:applic

Linux系统curl命令

curl命令 curl  -I  网址    //-I :省略源代码查看,内容如下: 我们查看的是HTTP/1.1 200 OK 这一行 常用状态吗有:200 301 302 404 403 502 503 上述状态码中,只有  200 是OK 的 如果出现301 302 ,它可能是因为在服务端设置了  跳转 ,内容如下: 上图显示,HTTP/1.1 301 设置了跳转,跳转到了下面:Location:http://www.aminglinux.com/bbs/forum.php -x  可以指

curl 命令获取网络网站的响应码

curl命令参数很多,博主很多都没有用过.今天发现可以用-w参数挺好用的. -w:--write-out,作用就是输出点什么.curl的-w参数用于在一次完整且成功的操作后输出指定格式的内容到标准输出.输出格式由普通字符串和任意数量的变量组成,输出变量需要按照%{variable_name}的格式,如果需要输出%,double一下即可,即%%,同时,\n是换行,\r是回车,\t是TAB.curl会用合适的值来替代输出格式中的变量,所有可用变量如下: url_effective 最终获取的url地