node.js - 如何使用 cookie 或 301 获取请求?
问题描述
我尝试获取谷歌驱动器的直接链接。第 1 步获取 cookie,第 2 步获取 cookie。它应该像底部一样返回直接链接。当 res 超过 1 个字节时,Http 请求直接结束。因为我只想获取位置直接链接。但控制台挂断。
doc-14-0c-docs.googleusercontent.com/docs/securesc/l0l6t5ueeik13q2d1k4mpkrrnv5aa9ud/1sjp57s0k1pvb6cil24qhgs2kmji1pml/1619627025000/10328865324190761677/12583675090547378677Z/0Bx0piWglNIx2Wm1XXzZ6SDY1a2c?e=download&nonce=8fo7n5srlmjig&user=12583675090547378677Z&hash=iigrqmufaqlc2m0nmiv6vv4l11jcaqfb
const https = require('https');
const url = 'https://drive.google.com/uc?export=download&confirm=5l9X&id=0Bx0piWglNIx2Wm1XXzZ6SDY1a2c';
const req = https.get(url, res => {
const cookie = res.headers['set-cookie'][0];
const options = {
hostname: 'drive.google.com',
path: '/uc?export=download&confirm=5l9X&id=0Bx0piWglNIx2Wm1XXzZ6SDY1a2c',
port: 443,
method: 'GET',
headers: {
'Cookie': cookie,
'Referer': url
}
};
console.log(res.headers);
const reqs = https.request(options, res => {
// res direct location
console.log(res.headers.location);
req.on('data', d => {
// req end up directly when byte res above 1 byte
if (d.length > 1) {
reqs.end();
}
});
});
});
req.end();
解决方案
推荐阅读
- cron - crontab:同一脚本仅在一天触发
- python - 结合两个字典,优先选择其中一个 -
- reactjs - 在 ReactNative 中使用带有 Firestore 的 onSnapshot() 复制数据
- kotlin - 从任务栏恢复时,TornadoFx 未装饰的窗口变为全屏
- r - 未找到 R cluster.vcov 函数
- ruby - Is the 'pathutil' ruby gem compatible with jekyll (v3.9.0) and ruby (v3.0.0)?
- java - 在 Java 15 模块化设置中使用 Eclipse 中的 SWT
- python - 为什么 python GIL 不参与这个多线程代码?
- java - BottomNavigationView 在我的应用程序底部隐藏了屏幕的某些部分(Android Studio java)
- numpy - 如何设置连体网络的图像大小?