curl 参数说明:
-b 带 Cookie 参数,参数格式可以是字符串,也可以是文件
-d POST 请求参数,参数格式 username="xxxx"&pass="xxxx"
-c 将服务器返回的 Cookie 数据记录到文本文件中
-I 将服务器返回头信息展示出来
-H 带头部请求信息
查看 HTTP 响应头信息
# curl -I http://www.163.com
HTTP/1.1 200 OK
Date: Wed, 29 May 2019 04:21:27 GMT
Content-Type: text/html; charset=GBK
Connection: keep-alive
Expires: Wed, 29 May 2019 04:22:19 GMT
Server: nginx
Vary: Accept-Encoding,User-Agent,Accept
Cache-Control: max-age=80
X-Via: 1.1 PSzjwzdx11jb78:0 (Cdn Cache Server V2.0), 1.1 PSgdzqdx4ei64:10 (Cdn Cache Server V2.0)
保存响应 Cookie , c2.txt
curl -c c2.txt https://proxy.mimvp.com
带 Cookie 参数据请求
curl -b "ServiceNumber=ECE009; rememberLogin=0; luUserName=admin; lang=zh; PHPSESSID=9j7uumj59jf7jjcuojucm2b7v4" -c c2.txt http://erp.xxx.cn/api/Report/getallaccountsales
curl -b c4.txt http://erp.xxx.cn/api/Report/getallaccountsales
述:
这里 c2.txt 不会产生,因为请求地址,并没有响应 Cookie 字段数据
c4.txt 文档内容
erp.xxx.cn FALSE / FALSE 1560912245 PHPSESSID 9f4b1i0q12q7s023hcr7lu0ti5
erp.xxx.cn FALSE / FALSE 1560912245 luUserName admin
erp.xxx.cn FALSE / FALSE 1560912245 ServiceNumber ECE009
erp.xxx.cn FALSE / FALSE 1592016245 rememberLogin 0
POST From ,登录实例
curl -b "PHPSESSID=9f4b1i0q12q7s023hcr7lu0ti5" -c c3.txt -d 'ServiceNumber=ECE009&luUserName=admin&luPassword=xxxxx' http://erp.xxx.cn/admin/user/login
述:
cookie PHPSESSID=9f4b1i0q12q7s023hcr7lu0ti5 字段,需要在之前获取
c3.txt 文档,保存服务器返回的 cookie 数据内容
c3.txt 文档内容
erp.xxx.cn FALSE / FALSE 1560912245 luUserName admin
erp.xxx.cn FALSE / FALSE 1560912245 ServiceNumber ECE009
erp.xxx.cn FALSE / FALSE 1592016245 rememberLogin 0
c4.txt 文档内容 比 c3 文档内容要多一条记录,那是因为手动添加进去的
述,模拟登录过程:
. 首先我们需要访问 url ,获取Cookie中的会话ID,也就是 PHPSESSID,一般是在首次访问 url 时,服务端会返回 cookie PHPSESSID 记录
. 查找 Form 表单参数
. curl -b "PHPSESSID=9f4b1i0q12q7s023hcr7lu0ti5" -c c3.txt -d 'ServiceNumber=ECE009&luUserName=admin&luPassword=new_4rfvbgt5_ysm' http://erp.xxx.cn/admin/user/login
. 手动修改 c3.txt 文档内容,添加 PHPSESSID 字段记录
. curl -b c3.txt http://erp.xxx.cn
参考地址: https://blog.mimvp.com/article/25783.html