curl命令

来源:互联网 发布:java nio io 区别 编辑:程序博客网 时间:2024/06/06 00:21
        curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和 Win32、Win64下的移植版本。curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件。其实curl 远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。它的用法非常多,这里只介绍一些比较实用的用法,
curl -v(小写的v参数) 会打印发送的请求和返回的信息。在调试脚本的时候特别有用
curl -k 平日上网,遇到证书错误一定要小心。但在工作中,经常需要用自签的假证书搭建开发环境。CURL在遇到证书错误时无法使用,使用 -k 参数就可以让它不做证书校验。
curl -H 测试域名绑定,比如:curl -H "Host:www.baidu.com" http://202.108.22.5/   (注意要加Host)
curl -I 查看头信息,响应头信息中包含了很多东西。除了HTTP版本和响应代码,还有Server、Content-Type、Content-Length等信息,如果有写入Cookie的操作,也会体现在头信息中。

使用cURL的 -I 参数,就可以看到这些头信息。比如淘宝的:

# curl -I http://www.taobao.com/
curl -L 跟踪URL跳转  如果遇到了一个多次跳转的URL,可以先用curl的 -L 参数看看,这个URL最终跳转到了什么地方。-L 参数最好配合 -I 使用,不然cURL会把最后一次请求获得的数据输出到控制台。
curl  -w 可以用来测量TCP握手和SSL握手的具体耗时,以访问支付宝为例。
curl -w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null https://www.alipay.com
上面命令中的w参数表示指定输出格式,time_connect变量表示TCP握手的耗时,time_appconnect变量表示SSL握手的耗时(更多变量请查看文档和实例),s参数和o参数用来关闭标准输出。ssl握手的耗时大概是tcp握手耗时的3倍左右。

另外,curl命令不具备访问https的功能,当然加 -k肯定可以啦。

curl -vd "nickname=闽D3V856&sign=DEFAB4AE76CE8B67AB912210D89AD898A3715B01& accountID=uvys5PYQl8&appKey=1111111111" http://s9ct.mirrtalk.com/accountapi/v2/fixUserInfo
0 0
原创粉丝点击