下载站

展开
精品推荐
带有URL语法的文件传输工具(cURL)

带有URL语法的文件传输工具(cURL)

FTP工具大小:522.37MB语言: / 类别:网络工具系统: / WinAll, WinXP 提供:
应用介绍

cURL是一个带有命令行的URL语法传输文件,支持FTP,FTPS,TFTP和HTTP,HTTPS协议,或Gopher,Telnet,字典,文件。curl是一个利用URL语法在命令行方式下工作的文件传输工具curl支持HTTPS证书,HTTPPOST,HTTPPUT,FTP上传,HTTP表单上传,代理,cookies,用户+密码身份验证(基本,摘要式,NTLM,协商,Kerberos身份...),恢复文件传输,代理和隧道总线负载其他有用的技巧。cURL是自由和开放的软件操作系统下的各种编译。

常用参数

curl命令参数很多,这里只列出我曾经用过、特别是在shell脚本中经常用到过的那些。

在以下选项中,(H)表示仅适用HTTP/HTTPS,(F)表示仅适用于FTP

--anyauth???选择"any"认证方法(H)

-a,--append????添加要上传的文件(F/SFTP)

--basic????使用HTTP基础认证(BasicAuthentication)(H)

--cacertFILE?CA证书,用于每次请求认证(SSL)

--capathDIR??CA证书目录(SSL)

-E,--certCERT[:PASSWD]客户端证书文件及密码(SSL)

--cert-typeTYPE证书文件类型(DER/PEM/ENG)(SSL)

--ciphersLIST?SSL秘钥(SSL)

--compressed??请求压缩(使用deflate或gzip)

-K,--configFILE?指定配置文件

--connect-timeoutSECONDS?连接超时设置

-C,--continue-atOFFSET?断点续转

-b,--cookieSTRING/FILE?Cookies字符串或读取Cookies的文件位置(H)

-c,--cookie-jarFILE?操作结束后,要写入Cookies的文件位置(H)

--create-dirs?创建必要的本地目录层次结构

--crlf?????在上传时将LF转写为CRLF

--crlfileFILE?从指定的文件获得PEM格式CRL列表

-d,--dataDATA??HTTPPOST数据(H)

--data-asciiDATA?ASCII编码HTTPPOST数据(H)

--data-binaryDATA?binary编码HTTPPOST数据(H)

--data-urlencodeDATA?url编码HTTPPOST数据(H)

--delegationSTRINGGSS-API委托权限

--digest????使用数字身份验证(H)

--disable-eprt?禁止使用EPRT或LPRT(F)

--disable-epsv?禁止使用EPSV(F)

-D,--dump-headerFILE?将头信息写入指定的文件

--egd-fileFILE?为随机数据设置EGDsocket路径(SSL)

--engineENGINGE?加密引擎(SSL)."--enginelist"指定列表

-f,--fail?????连接失败时不显示HTTP错误信息(H)

-F,--formCONTENT?模拟HTTP表单数据提交(multipartPOST)(H)

--form-stringSTRING?模拟HTTP表单数据提交(H)

--ftp-accountDATA?帐户数据提交(F)

--ftp-alternative-to-userCOMMAND?指定替换"USER[name]"的字符串(F)

--ftp-create-dirs?如果不存在则创建远程目录(F)

--ftp-method[MULTICWD/NOCWD/SINGLECWD]控制CWD(F)

--ftp-pasv???使用PASV/EPSV替换PORT(F)

-P,--ftp-portADR?使用指定PORT及地址替换PASV(F)

--ftp-skip-pasv-ip跳过PASV的IP地址(F)

--ftp-pret???在PASV之前发送PRET(drftpd)(F)

--ftp-ssl-ccc?在认证之后发送CCC(F)

--ftp-ssl-ccc-modeACTIVE/PASSIVE?设置CCC模式(F)

--ftp-ssl-controlftp登录时需要SSL/TLS(F)

-G,--get?????使用HTTPGET方法发送-d数据?(H)

-g,--globoff???禁用的URL队列及范围使用{}和[]

-H,--headerLINE?要发送到服务端的自定义请求头(H)

-I,--head?????仅显示响应文档头

-h,--help?????显示帮助

-0,--http1.0???使用HTTP1.0(H)

--ignore-content-length?忽略HTTPContent-Length头

-i,--include???在输出中包含协议头(H/F)

-k,--insecure???允许连接到SSL站点,而不使用证书(H)

--interfaceINTERFACE?指定网络接口/地址

-4,--ipv4?????将域名解析为IPv4地址

-6,--ipv6?????将域名解析为IPv6地址

-j,--junk-session-cookies读取文件中但忽略会话cookie(H)

--keepalive-timeSECONDS?keepalive包间隔

--keyKEY???私钥文件名(SSL/SSH)

--key-typeTYPE私钥文件类型(DER/PEM/ENG)(SSL)

--krbLEVEL??启用指定安全级别的Kerberos(F)

--libcurlFILE?命令的libcurl等价代码

--limit-rateRATE?限制传输速度

-l,--list-only??只列出FTP目录的名称(F)

--local-portRANGE?强制使用的本地端口号

-L,--location???跟踪重定向(H)

--location-trusted类似--location并发送验证信息到其它主机(H)

-M,--manual????显示全手动

--mail-fromFROM?从这个地址发送邮件

--mail-rcptTO?发送邮件到这个接收人(s)

--mail-authAUTH?原始电子邮件的起始地址

--max-filesizeBYTES?下载的最大文件大小(H/F)

--max-redirsNUM?最大重定向数(H)

-m,--max-timeSECONDS?允许的最多传输时间

--metalink???处理指定的URL上的XML文件

--negotiate??使用HTTPNegotiate认证(H)

-n,--netrc????必须从.netrc文件读取用户名和密码

--netrc-optional使用.netrc或URL;将重写-n参数

--netrc-fileFILE?设置要使用的netrc文件名

-N,--no-buffer??禁用输出流的缓存

--no-keepalive?禁用connection的keepalive

--no-sessionid?禁止重复使用SSLsession-ID(SSL)

--noproxy???不使用代理的主机列表

--ntlm?????使用HTTPNTLM认证(H)

-o,--outputFILE?将输出写入文件,而非stdout

--passPASS??传递给私钥的短语(SSL/SSH)

--post301???在301重定向后不要切换为GET请求(H)

--post302???在302重定向后不要切换为GET请求(H)

--post303???在303重定向后不要切换为GET请求(H)

-#,--progress-bar?以进度条显示传输进度

--protoPROTOCOLS?启用/禁用指定的协议

--proto-redirPROTOCOLS?在重定向上启用/禁用指定的协议

-x,--proxy[PROTOCOL://]HOST[:PORT]在指定的端口上使用代理

--proxy-anyauth在代理上使用"any"认证方法(H)

--proxy-basic?在代理上使用Basic认证?(H)

--proxy-digest?在代理上使用Digest认证(H)

--proxy-negotiate在代理上使用Negotiate认证(H)

--proxy-ntlm??在代理上使用NTLM认证(H)

-U,--proxy-userUSER[:PASSWORD]?代理用户名及密码

--proxy1.0HOST[:PORT]?在指定的端口上使用HTTP/1.0代理

-p,--proxytunnel?使用HTTP代理(用于CONNECT)

--pubkeyKEY??公钥文件名(SSH)

-Q,--quoteCMD??在传输开始前向服务器发送命令(F/SFTP)

--random-fileFILE?读取随机数据的文件(SSL)

-r,--rangeRANGE?仅检索范围内的字节

--raw?????使用原始HTTP传输,而不使用编码(H)

-e,--referer???RefererURL(H)

-J,--remote-header-name从远程文件读取头信息(H)

-O,--remote-name?将输出写入远程文件

--remote-name-all使用所有URL的远程文件名

-R,--remote-time?将远程文件的时间设置在本地输出上

-X,--requestCOMMAND?使用指定的请求命令

--resolveHOST:PORT:ADDRESS?将HOST:PORT强制解析到ADDRESS

--retryNUM?出现问题时的重试次数

--retry-delaySECONDS重试时的延时时长

--retry-max-timeSECONDS?仅在指定时间段内重试

-S,--show-error??显示错误.在选项-s中,当curl出现错误时将显示

-s,--silent????Silent模式。不输出任务内容

--socks4HOST[:PORT]?在指定的host+port上使用SOCKS4代理

--socks4aHOST[:PORT]?在指定的host+port上使用SOCKSa代理

--socks5HOST[:PORT]?在指定的host+port上使用SOCKS5代理

--socks5-hostnameHOST[:PORT]SOCKS5代理,指定用户名、密码

--socks5-gssapi-serviceNAME?为gssapi使用SOCKS5代理服务名称

--socks5-gssapi-nec?与NECSocks5服务器兼容

-Y,--speed-limitRATE?在指定限速时间之后停止传输

-y,--speed-timeSECONDS?指定时间之后触发限速.默认30

--ssl?????尝试SSL/TLS(FTP,IMAP,POP3,SMTP)

--ssl-reqd???需要SSL/TLS(FTP,IMAP,POP3,SMTP)

-2,--sslv2????使用SSLv2(SSL)

-3,--sslv3????使用SSLv3(SSL)

--ssl-allow-beast允许的安全漏洞,提高互操作性(SSL)

--stderrFILE?重定向stderr的文件位置.-meansstdout

--tcp-nodelay?使用TCP_NODELAY选项

-t,--telnet-optionOPT=VAL?设置telnet选项

--tftp-blksizeVALUE?设备TFTPBLKSIZE选项(必须>512)

-z,--time-condTIME?基于时间条件的传输

-1,--tlsv1????使用=>TLSv1(SSL)

--tlsv1.0???使用TLSv1.0(SSL)

--tlsv1.1???使用TLSv1.1(SSL)

--tlsv1.2???使用TLSv1.2(SSL)

--traceFILE??将debug信息写入指定的文件

--trace-asciiFILE?类似--trace但使用16进度输出

--trace-time??向trace/verbose输出添加时间戳

--tr-encoding?请求压缩传输编码(H)

-T,--upload-fileFILE?将文件传输(上传)到指定位置

--urlURL???指定所使用的URL

-B,--use-ascii??使用ASCII/text传输

-u,--userUSER[:PASSWORD]?指定服务器认证用户名、密码

--tlsuserUSER?TLS用户名

--tlspasswordSTRINGTLS密码

--tlsauthtypeSTRING?TLS认证类型(默认SRP)

--unix-socketFILE??通过这个UNIXsocket域连接

-A,--user-agentSTRING?要发送到服务器的User-Agent(H)

-v,--verbose???显示详细操作信息

-V,--version???显示版本号并退出

-w,--write-outFORMAT?完成后输出什么

--xattr????将元数据存储在扩展文件属性中

-q????????.curlrc如果作为第一个参数无效

curl介绍和基本用法

curl是一个广泛使用的用来上传和下载的命令行工具,当然严格来讲,它还可以有别的用途。对于测试来讲,它是Web相关测试非常实用的工具,包括debugging,使用起来非常方便。而且另一方面,因为它是纯命令行的工具,所以也可以非常方便的作为一个组件集成到automation或者其他的测试框架里面,将HTTP/HTTPS/FTP相关的上传和下载等任务交给它。

最近因为在做webservice相关的测试,用到了curl,觉得还不错,顺便给大家介绍一下。

officialsite:?http://curl.haxx.se/?,目前最新的版本是7.20.0。

基本的用法示例

curlhttp://www.google.com

curl-of1?ftp://user:pwd@myftp/Ricky/test.ini

curldict://dict.org/d:test

下面主要介绍一下常用的参数,关于这方面,可以查看它自带的帮助文档。

-Vshowtheversionofcurl

C:/Tools/curl-7.20.0curl-V

curl7.20.0(i386-pc-win32)libcurl/7.20.0OpenSSL/0.9.8lzlib/1.2.3

Protocols:?dictfileftpftpshttphttpsimapimapsldappop3pop3srtspsmtpsmtpstelnettftp

Features:AsynchDNSLargefileNTLMSSLSSPIlibz

-o[filename],savecontenttoafile

-Ousethesamename

curl-og.htmlwww.google.com

curl-Ohttp://www.google.com/intl/en_ALL/images/logo.gif

-i,IncludetheHTTP-headerintheoutputcurl-ihttp://www.google.com

-uusername:password

curl-uuser:pwd?ftp://myftp/Ricky/test.ini

-dparameters

curlhttp://www.yahoo.com/login.cgi?user=nick&password=12345

curl-d"user=nick&password=12345"http://www.yahoo.com/login.cgi

-x?proxy_ip:port,accesswithproxy

curl-i-xmyproxy:8080-ogoogle_proxy.htmlhttp://www.google.com

HTTP/1.1302Found

Via:1.0myproxy

Content-Length:222

Date:Mon,22Mar201014:15:48GMT

Location:http://www.google.com.tw/

Content-Type:text/html;charset=UTF-8

Cache-Control:private

Set-Cookie:PREF=ID=aa97c3734c862ddf:TM=1269267348:LM=1269267348:S=4FEEGAPNu2FN2lho;expires=Wed,21-Mar-201214:15:48GMT;path=/;domain=.google.com

Set-Cookie:NID=32=MXKkZjgjiNGVNnPv9w384COa2KJZOLu5v9_5coX_N1tJtaa97-dJUxb7DCz90vQsm0fLEPg0Ee3nXv1yDDcE3ZN0sOu7mq9-mjB9CL0okXGjiIvox2FTcw0HBV7hBaLC;expires=Tue,21-Sep-201014:15:48GMT;path=/;domain=.google.com;HttpOnly

Server:gws

X-XSS-Protection:0

<HTML<HEAD<metahttp-equiv="content-type"content="text/html;charset=utf-8"

<TITLE302Moved</TITLE</HEAD<BODY

<H1302Moved</H1

Thedocumenthasmoved

<AHREF="http://www.google.com.tw/"here</A.

</BODY</HTML

-r[start-end],suchas"-r0-1024"

curl-i-r0-1024-orfc1.txthttp://xml.resource.org/public/rfc/bibxml3/rdf/item.I-D.6man-pmip6-ind.rdf

header:

HTTP/1.1?206PartialContent

Date:Mon,22Mar201013:50:46GMT

Server:Apache/2.2.15(Debian)

Last-Modified:Mon,09Mar200923:02:11GMT

ETag:"148be6-466-464b79fe1a2c0"

Accept-Ranges:bytes

Content-Length:1025

Content-Range:bytes0-1024/1126

Content-Type:application/rdf+xml

note:notallwebserversupportpartialcontent,oritwillresponseallevenyoutrytogetpart

curl-i-r0-1024http://www.sina.com.cn-osina_part1.htm

itwillgiveyouallthepage.-kinsecureSSL,willnotcheckthecert

curl-khttps://ip:8445

-TuploadafilewithFTP

curl-Tcurl.html-uuser:pwd?ftp://myftp/Ricky/

executeonceagainwilloverwrite

-F/--form<name=content,useforhttppost

curl?-Fpassword=@/etc/passwdwww.mypasswords.com

YoucanalsotellcurlwhatContent-Typetousebyusing'type=',inamannersimilarto:

curl?-F"web=@index.html;type=text/html"url.com

最后顺便说一下,如果是用来做HTTP的测试和调试,希望有GUI的话,也有不少其它的工具可以选择,包括Fiddler,JMeter和Firefox的tamperdata插件。

Tags:文件传输工具,cURL.

应用推荐查看更多
热门下载查看更多
精选应用
点击查看更多
专题合集查看更多
热门专题查看更多
友情链接0投诉联系:ichaoinc@gmail.com