curl 工具 与 cookie 结合使用

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

 

你可能感兴趣的:(linux)