curl命令使用范例
curl常用参数:
参数 | 说明 |
---|---|
-A/–user-agent | 定义用户代理字符串 |
-H/–header | 自定义header头信息 |
-i/–include | 输出时包括protocol头信息 |
-I/–head | 只显示请求的头信息 |
-o/–output | 把输出写到该文件中 |
-s/–silent | 静默模式 |
-w/–write-out [format] | 在一次完整且成功的操作后输出指定格式的内容到标准输出 |
-X/–request | 指定请求方式 |
-u/–user | 设置服务器的用户和密码 |
-T/–upload-file | 上传文件 |
-l/–list-only | 列出ftp目录下的文件名称 |
–limit-rate | 设置传输速度 |
-m/–max-time | 设置最大传输时间 |
常用范例(纯shell命令):
伪造UA绑host请求:
1
curl --user-agent "curl-test-agent" -H "Host:www.lengyuewusheng.com" -I "http://10.0.0.1/index.php"
伪造X-Real-IP:
1
curl -H "X-Real-IP:1.1.1.1" -H "Host:www.lengyuwusheng.com" "http://10.0.0.1/index.php"
获取请求的状态码字符串
1
curl -o /dev/null -s -w "%{http_code}\n" -H "Host:www.lengyuewusheng.com" "http://10.0.0.1/index.php"
向服务器端POST数据
1
curl -X POST -d "a=1&b=2&c=3" "http://www.lengyuewusheng.com"
指定请求的超时时间
1
curl --connect-timeout 5 -m 90 -o /dev/null -s -w "%{http_code}" "http://www.lengyuewusheng.com"
通过curl向ftp服务器上传文件
1
2curl -u "${USER}:${PASSWD}" -T "${DATADIR}/${FILE}" "ftp://${FTPSERVER}"
# eg: curl -u "admin:123456" -T "/tmp/logs/test.log" "ftp://10.0.0.1"