Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何将cookie传递给响应expressjs?_Node.js_Express - Fatal编程技术网

Node.js 如何将cookie传递给响应expressjs?

Node.js 如何将cookie传递给响应expressjs?,node.js,express,Node.js,Express,我需要通过考试 authCookie 为了表示响应,我使用TechnicJSONP绕过了google的CORS,但我不知道如何将cookie传递给响应。所以客户端浏览器可以得到cookie。最终的结果是直接谷歌驱动器链接与cookie。当前仅传递直接链接,但cookie为空。我不知道 客户端html <video id="video-player" controls></video> <script> const videoPlayer

我需要通过考试

authCookie

为了表示响应,我使用TechnicJSONP绕过了google的CORS,但我不知道如何将cookie传递给响应。所以客户端浏览器可以得到cookie。最终的结果是直接谷歌驱动器链接与cookie。当前仅传递直接链接,但cookie为空。我不知道

客户端html

<video id="video-player" controls></video>
<script>
  const videoPlayer = document.getElementById('video-player');

  (async () => {
    const response = await fetch('http://127.0.0.1:8080/video');

    videoPlayer.src = await response.text();
  })();
</script>

您可以使用res.cookie(名称、值)使用express设置cookie。您可以阅读更多信息。

如果cookie身份验证为hkifuhv9l3p40。我将其设置为res.cookie('AUTH_8632qh6ci45d3udksnrs31dgab4ghphl_nonce','hkifuhv9l3p40')?我从谷歌硬盘得到了禁止403。
const express = require('express');
const htmlParser = require('node-html-parser');
const { parse }  = htmlParser;
const cors = require('cors');
const fetch = require('node-fetch');
const app = express();
const port = 8080;

app.get('/video', cors(), async (req, ress) => {    

    const response = await fetch('https://drive.google.com/uc?id=17OunL0rN- 
                                   7jrsNGjznQTqnB_z7xfsgKK&export=download', { redirect: 'manual' });

    const dom = parse(await response.text());

    const url = 'https://drive.google.com' + dom.querySelector('#uc-download-link')._attrs.href;

    const resCookie = await response.headers.get('set-cookie').split(';');

    const downloadCookie = resCookie[0];
    const nidCookie = resCookie[6].split(',')[1];

    const reqCookie = downloadCookie + ';' + nidCookie;

    let options = {
        headers: {
            cookie: reqCookie
        },
        redirect: 'manual'
    };

    const res = await fetch(url, options);

    const re = await fetch(await res.headers.get('location'), {redirect: 'manual'});

    const authCookie = await re.headers.get('set-cookie').split(';')[0];

    const r = await fetch(await re.headers.get('location'), { headers: { cookie: nidCookie }, redirect: 'manual' });

    const data = await fetch(await r.headers.get('location'), { headers: { cookie: authCookie}, redirect: 'manual'});

    ress.send(await r.headers.get('location'));
});

app.listen(port , () => {
    console.log(`Server is listening on ${port}`);
});