设为首页 收藏本站
查看: 1319|回复: 0

[经验分享] windows下使用curl命令 && 常用curl命令

[复制链接]

尚未签到

发表于 2017-12-8 13:40:52 | 显示全部楼层 |阅读模式
什么是curl命令?
  curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。



如何在windows下使用curl命令?
  第一步: 进入curl下载官网,下载合适的版本,我这里下载的是windows 64位的curl。
DSC0000.png

  其中我下载的zip文件。  另外CAB文件也是压缩文件,这是微软出品,不太好用,建议使用zip压缩文件。
  第二步: 解压缩文件,然后找到该文件目录下的bin子文件(bin即二进制文件,又称可执行文件), 复制文件地址:
DSC0001.png

DSC0002.png

  第三步: 将该地址加入环境变量。
  第四步: 打开CMD,然后输入 curl --help ,如果显示如下, 就代表成功了。
DSC0003.png


常用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 用进度条显示当前的传送状态
  常用命令如下(可参考百度百科):



curl www.baidu.com
  获取到一个网页的document。



curl www.baidu.com -i
  除了获取到document外,还可以获取头信息。



curl www.baidu.com -I
  仅仅获取头信息。 无document。



curl www.baidu.com -v
  显示更为详细的信息, v 是 verbose 的缩写。
DSC0004.png

  可以看到包括解析为 ip 的过程都有。



curl www.baidu.com/s?wd=d
  这里实际上就是在模拟form表单,该表单使用的是get方法。
  更多可以参考百度百科。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-422132-1-1.html 上篇帖子: 简单实现windows平台下多线程+socket服务器 下篇帖子: 在Windows命令行中编译运行C/C++程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表