分类: 系统运维
2016-09-06 14:36:07
用途
curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。
curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。
语法
# curl [option] [url]
常见参数
参数
用途
说明
-A/--user-agent
设置用户代理发送给服务器
-b/--cookie
cookie字符串或文件读取位置
-c/--cookie-jar
操作结束后把cookie写入到这个文件中
-C/--continue-at
断点续转
-D/--dump-header
把header信息写入到该文件中
-e/--referer
来源网址
-f/--fail
连接失败时不显示http错误
-I/--head
仅返回头部信息,使用HEAD请求
-m/--max-time
指定处理的最大时长
-o/--output
把输出写到该文件中
把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用.
-s/--silent
静音模式。不输出任何东西
-w/--write-out [format]
什么输出完成后
-O/--remote-name
把输出写到该文件中,保留远程文件的文件名
-r/--range
检索来自HTTP/1.1或FTP服务器字节范围
-T/--upload-file
上传文件
-u/--user
设置服务器的用户和密码
-x/--proxy
在给定的端口上使用HTTP代理
-#/--progress-bar
进度条显示当前的传送状态
示例
示例一 测试网页返回值
# curl -I -m 10 -o /dev/null -s -w %{http_code}"\n"
Ps:在脚本中,这是很常见的测试网站是否正常的用法