一、curl简介
通常情况下,当我们不想在本机下载文件,上传至服务器时,觉得这样过于麻烦,步骤繁琐。
那么该怎么办呢?
在Linux中,服务器下载文件,提供了一种curl命令,它可以实现在Linux中进行命令行下载远程文件,相当于利用URL规则在命令行下工作的文件传输工具,是 一款很强大的http命令行工具。
二、curl使用
- 基本使用
curl http://www.baidu.com
# 会打印请求到的html网页
- 可以采用重定向保存
curl http://www.baidu.com >> baidu.html
# 执行之后,发现网页已经保存到本地了
- 可以使用curl的内置option:-o(小写)保存网页
curl -o linux.html http://www.baidu.com
- 也可以使用curl的参数-O 保存网页中的文件
## 注意:这里后面的url要具体到某个文件,不然抓不下来
curl -O http://www.baidu.com/hello.sh
- 测试网页返回值
注:该命令主要用于测试网站是否正常
curl -o /dev/null -s -w %{http_code} www.baidu.com
- 利用proxy服务器代理及其端口进行下载
curl -x 192.168.100.100:1080 http://www.linux.com
注:使用代理服务器上网或者因为使用curl别人网站而被别人屏蔽IP地址的时候,可以采用代理解决
三、curl常见命令参数
-A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态