原文地址:http://www.blogkid.net/archives/2668.html
cURL是我在Linux上经常用的一个小工具,我理解它是一个“客户端”。今天记录一下我的使用心得。达人请忽略。
cURL是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER等。[更多...]
场景一:测试域名绑定
我常需要在开发环境中,测试某台服务器上的Web Server是否正确绑定了域名。
比如,我希望在服务器192.168.1.10上绑定www.blogkid.net。但需要修改hosts才能看到效果,这活儿很累人。
所谓“域名绑定”,就是把host映射到对应的目录。
如果手头有cURL,可以使用 -H 参数,在请求头信息中多写一个 Host 字段。就可以测试是否配置正确了。
# curl -H "Host: www.blogkid.net" http://192.168.1.10/
场景二:查看头信息
响应头信息中包含了很多东西。除了HTTP版本和响应代码,还有Server、Content-Type、Content-Length等信息,
如果有写入Cookie的操作,也会体现在头信息中。
使用cURL的 -I 参数,就可以看到这些头信息。比如淘宝的:
# curl -I http://www.taobao.com/
HTTP/1.1 200 OK
Date: Sun, 14 Feb 2010 08:57:35 GMT
Server: Apache
Set-Cookie: abt=b; expires=Sun, 28-Feb-2010 08:57:35 GMT; path=/; domain=www.taobao.com
at_catetype: b (咦,这是什么?)
Set-Cookie: _lang=zh_CN:GBK; Domain=.taobao.com; Path=/
Cache-Control: max-age=3600
Expires: Sun, 14 Feb 2010 09:57:35 GMT
Vary: Accept-Encoding
Content-Type: text/html; charset=GB2312
Content-Language: cn
我昨天也修改了一下我服务器的server信息,大家感兴趣可以 curl -I http://www.blogkid.net/ 看看。
这里插一句,不建议把使用Web服务器的版本暴露出来
(其实服务器信息也最好隐藏掉,或者把Apache伪装成nginx什么的 )。免得突然爆出漏洞时,措手不及,被人利用。
场景三:跟踪URL跳转
如果遇到了一个多次跳转的URL,可以先用curl的 -L 参数看看,这个URL最终跳转到了什么地方。
-L 参数最好配合 -I 使用,不然cURL会把最后一次请求获得的数据输出到控制台。
没有合适的URL拿来做例子,意会一下吧
Google目前会跳到HK,有个不错实例:
curl -IL http://www.google.com
场景四:发送压缩的请求
cURL提供了一个 –compress 参数,可以用来发送支持压缩的请求。
但使用了–compress之后,虽然传输过程是压缩的,cURL的输出还是解压之后的,难以看到效果。
我一般用 -H 参数,自己写一个 Accept-Encoding 字段在头信息中。
curl -H "Accept-Encoding: gzip" http://www.blogkid.net/
如果直接运行上面的命令,会得到一堆乱码,因为cURL输出的内容,是压缩后的数据。不妨在后面接一个gunzip试试。
curl -H "Accept-Encoding: gzip" http://www.blogkid.net/ | gunzip
使用gunzip解压之后,信息又被还原了。前几天我写的压缩话题(1,2),就用了类似的方法来测试。
场景五:忽略证书错误
平日上网,遇到证书错误一定要小心。但我在工作中,经常需要用自签的假证书搭建开发环境。
cURL在遇到证书错误时罢--工,使用 -k 参数就可以让它不做证书校验。
http://curl.haxx.se/docs/manual.html
分享到:
相关推荐
curl官网下载源码,mingw32-make.exe 编译,qt新建工程引入动态库,使用curl进行网络请求。
curl下载curl包下载
PHP curl使用手册, 介绍CURL的使用方法
使用curl操作openstack swift使用curl操作openstack swift使用curl操作openstack swift使用curl操作openstack swift使用curl操作openstack swift使用curl操作openstack swift使用curl操作openstack swift使用curl...
仅供自己备份使用。 curl c++ 使用实例,项目中使用,没有改动直接贴过来。 curl https访问,curl-7.60.0源码版本
curl的使用方法及命令的介绍及实现curl的简单例子
freeswitch xml_curl模块使用 freeswitch 数据库生成xml文件,使用php生成代码,替换掉directory,ivr,dialplan,等各种本地配置
curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令...
curl库源码添加了curl_config.h和mk文件,可以直接跳转到目录使用ndk-build编译出so库.
php_curl_使用实例 curl的使用方法 curl 模拟post提交 curl 设置 UA、cookie 等 都有纤细例子
详细介绍了PHP_Curl扩展的使用方法,含大量示例程序
简单使用curl进行get请求并将服务器返回存进本地文件,简单使用curl进行get请求并将服务器返回存进本地文件
curl-8.4.0.tar.gz curl-8.4.0.zip
CURL 最后支持WINDOWS XP的版本是7.56.1,此资源包为SRC包,与编译BIN包,并且带有LIBSSH2与OPENSSL 1.1.1q,openssl 0.9.8, zlib1.2.12,在7.56.1以后的版本都已经不支持WINDOWS XP,因为其已经开启使用X64的编码,...
curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令...
PHP中的curl使用参数详解,使你应用起curl来如同庖丁解牛般熟练自如。
qt5使用curl实现文件下载的示例程序,详细操作请参考博客http://blog.csdn.net/xueyushenzhou/article/details/51702672#t3
PHPCurl使用详解
php curl使用说明 curl 配置 使用说明 参数说明 示例
在win10用cmake3.22与vs2019编译好的curl库,版本号为7.84.0(当下最新版,支持SLL)。库文件已经整理成了lib、include的结构,其中还内置curl...curl现在在linux与win10都是有内置的,在命令行中可以直接使用curl指令。