如何在URL中携带Cookie发送HTTP GET请求?两种尝试均失败
首先明确:Cookie是通过HTTP请求头的Cookie字段传递的,不是URL查询参数,你之前把Cookie放在URL参数里的方式不符合HTTP规范,所以服务器不会识别。下面是几种快速简便的实现方式:
1. 浏览器书签小工具(Bookmarklet)
把这段代码保存为浏览器书签,点击就能发送带指定Cookie的GET请求,适合快速测试:
javascript:(function(){ const url = "https://myserver.nowhere.com/mashupmgr/hapi/processApps?_=1667155192621"; const cookies = "2alfssolX1X-2095811475X1=5b2ca93f4ad010a9a0069bc478127304c5000a97; JSESSIONID=E3E2EB8D03AF77E9037E784BFA87B57B"; fetch(url, { method: 'GET', headers: { 'Cookie': cookies } }).then(res => res.text()).then(console.log); })();
使用时修改url和cookies的值即可,响应内容会输出到浏览器控制台。
2. curl命令(终端快速执行)
直接在终端里用curl发送请求,-H参数指定Cookie头:
curl "https://myserver.nowhere.com/mashupmgr/hapi/processApps?_=1667155192621" \ -H "Cookie: 2alfssolX1X-2095811475X1=5b2ca93f4ad010a9a0069bc478127304c5000a97; JSESSIONID=E3E2EB8D03AF77E9037E784BFA87B57B"
如果需要保存响应结果,加-o result.html参数即可。
3. 浏览器插件(可视化快速配置)
用轻量插件临时给请求添加Cookie头,比如ModHeader:
- 安装插件后,在插件界面的
Request Headers里添加Cookie字段,值填你的Cookie键值对(用分号分隔) - 直接在地址栏输入目标URL访问,插件会自动把Cookie头添加到请求中
另外Postman、Insomnia这类工具也能快速配置请求头,但ModHeader更适合直接在浏览器地址栏发起请求的场景。
4. 浏览器控制台临时执行
打开浏览器控制台(F12),直接运行fetch代码:
fetch("https://myserver.nowhere.com/mashupmgr/hapi/processApps?_=1667155192621", { headers: { 'Cookie': '2alfssolX1X-2095811475X1=5b2ca93f4ad010a9a0069bc478127304c5000a97; JSESSIONID=E3E2EB8D03AF77E9037E784BFA87B57B' } }).then(res => res.json()).then(console.log);
适合临时调试,直接查看响应结果。
内容的提问来源于stack exchange,提问作者mnemotronic
相关产品推荐
相关产品推荐

