文章目录
curl 命令解析
curl 是 linux/unix 命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思, 语法:语法:# curl [option] [url]
# curl --help
-A/--user-agent <string> 设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-d/--data <data> HTTP POST数据(H)
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-H/--header <line> 添加 HTTP 请求的标头
-o/--output <file> 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-v/--verbose 输出通信的整个过程
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-X/--request <command> 指定要使用的请求命令
curl http://www.baidu.com
-A 指定请求参数user_agent
应用场景:
-
获取不同的设备素材;
-
伪造请求的设备;
curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" https://www.baidu.com
-b 指定请求时的cookie
应用场景:
- 浏览器和服务器 私有标识;
- 获取需要认证的网址内容
curl -b 'foo=bar' https://www.baidu.com
curl -b 'foo=bar;foo2=bar2' https://www.baidu.com
curl -b cookie.jar https://www.baidu.com
-D 将请求的header
保存在本地
curl -D header.txt https://www.baidu.com
-e 设置访问当前url来源
应用场景:
- 模拟用户行为时使用
- 防盗链
curl -e "www.baidu.com" https://passport.baidu.com/v2/
curl -H 'Referer: www.baidu.com' https://www.baidu.com/
-H 设置请求header
curl -H 'Content-Type: application/json' https://www.baidu.com
curl -H 'Referer: www.ddd.com' -H 'Hostname: www.sss.com' https://www.baidu.com/
# 多个参数设置
-o 和 -O 保存输出结果(下载文件)
curl https://www.baidu.com >> baidu.html # 只有这个不是下载
curl -o baidu.html https://www.baidu.com
curl -O https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
-T 上传文件
curl -T baidu_logo.png ftp://10.88.16.58:2121/amap/baidu_logo.png
curl -T baidu_logo.png -u ftp:ftp ftp://10.88.16.58:2121/amap/baidu_logo.png
-v 调试日志
curl -v https://www.baidu.com
-x proxy服务器以及其端口
curl -x 100.94.22.41:1000 http://127.0.0.1:1000/cron/spucard/autoWithhold
查看网页返回值
curl -o /dev/null -s -w %{http_code} www.baidu.com
Curl –i www.baidu.com
Curl –v www.baidu.com
-X 指定请求方式
post
请求时候 -d
指定data
curl -d 'appId=0031&serviceId=pre_023840280234208' -X POST https://qa7.beneucard.com/hfas/bzjr/loan/repay/plan
curl -d 'appId=0031' -d'serviceId=pre_023840280234208' -X POST https://qa7.beneucard.com/hfas/bzjr/loan/repay/plan
curl -H "Content-Type: application/json&aa:bb" -d '@data.json' -X POST https://qa7.beneucard.com/hfas/bzjr/repay/calculate