【问题标题】:how to pass cookies from nodejs app to another server using request如何使用请求将 cookie 从 nodejs 应用程序传递到另一台服务器
【发布时间】:2017-10-30 20:09:54
【问题描述】:

我需要将所有 cookie 从一台服务器传递到 nodejs/express 中的另一台服务器。 我正在使用 request-promise 执行 HTTP 请求和 cookie 解析器来解析我的应用程序上的 cookie。

这是所需功能的伪代码

router.get('/', (req, res, next) => {
  options = {
      method: "get",
      uri: 'http://example.com',
      cookies: req.cookies // this is the desire functionality
  }
  request(options).then()
});

谢谢(:

【问题讨论】:

    标签: node.js cookies request


    【解决方案1】:

    也许您应该像这样在标头对象中传递您的 cookie:

      router.get('/', (req, res, next) => {
      options = {
          method: "get",
          uri: 'http://example.com',
          headers: {
             Cookie: req.cookies
          }
      }
      request(options).then()
    });
    

    希望对你有帮助:)

    【讨论】:

    • 试过了。不知道t work. i know request uses cookie jar but i dont 知道将 cookie 传递到 jar 的最佳方法
    • 我编辑了我的答案,你可以尝试使用“Cookie”而不是“cookies”吗?
    【解决方案2】:

    我最终只是用循环将 cookie 解析为字符串

    for (let key in req.cookies)
      cookies += key + '=' + req.cookies[key] + ";";
    
    if (cookies !== "") {
    
        if (options.headers !== undefined && options.headers.Cookie !== undefined) {
            options.headers.Cookie += ';' + cookies.substr(0, cookies.length - 1);
        } else {
            if (options.headers === undefined) {
                options.headers = {};
            }
            options.headers.Cookie = cookies.substr(0, cookies.length - 1);
        }
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      相关资源
      最近更新 更多