首页 > 解决方案 > 如何使用 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();

标签: node.js

解决方案


推荐阅读