繁体   English   中英

无法从标头获取set-cookie以响应NodeJS

[英]Can't get set-cookie from header in response with NodeJS

我在节点中尝试了3种不同的http库

  1. 节点请求
  2. 节点requestify
  3. 结针

这3个库都无法从我的回复中获取我的set-cookie

请求

15:32:52 - WARN  - now testing with request
{ 'x-powered-by': 'Express',
  'content-type': 'application/json; charset=utf-8',
  'content-length': '4591',
  date: 'Thu, 11 Dec 2014 14:32:52 GMT',
  connection: 'keep-alive' }

15:32:52 - WARN  - now testing with needle
{ 'x-powered-by': 'Express',
  'content-type': 'application/json; charset=utf-8',
  'content-length': '4591',
  date: 'Thu, 11 Dec 2014 14:32:52 GMT',
  connection: 'close' }

请求

15:32:52 - WARN  - now testing with requestify
{ 'x-powered-by': 'Express',
  'content-type': 'application/json; charset=utf-8',
  'content-length': '4591',
  date: 'Thu, 11 Dec 2014 14:32:52 GMT',
  connection: 'keep-alive' }

这是带有wget的结果标头

Connecting to localhost (localhost)|127.0.0.1|:8000... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  X-Powered-By: Express
  Accept-Ranges: bytes
  Date: Thu, 11 Dec 2014 14:38:49 GMT
  Cache-Control: public, max-age=0
  Last-Modified: Thu, 11 Dec 2014 09:56:58 GMT
  ETag: W/"7c2-2140188116"
  Content-Type: text/html; charset=UTF-8
  Content-Length: 1986
  set-cookie: session=s%3AHI2alIkPOxVLXgJCymvAPbTZt1urIpEE.dBB7ZrpWjKAkwSALBVgbyJtRq9ZABMq9VJh%2F3XT6r8A; Path=/; Expires=Thu, 11 Dec 2014 15:08:49 GMT; HttpOnly
  Connection: keep-alive
Length: 1986 (1.9K) [text/html]

如果这可以帮助,这是我请求中的标题

var commonHeaders = {
    'Accept': '*/*',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'fr',
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'Connection': 'keep-alive',
    'Pragma': 'no-cache',
    'User-Agent': 'request'
};

虽然firefox,chrome和wget可以获取完整的标头,但我无法使用node进行身份验证。 Node有问题吗? 我应该在Python中这样做吗?

编辑:

我试图删除通过节点发布的数据,我的响应也与使用wget的响应相同。 当我使用浏览器并执行登录操作时,它将返回我的json + set-cookie。

为什么用node不可能呢?

您可能没有正确使用Cookie。 通常,它们不作为标头变量直接访问。 有关如何处理Cookie的信息,请参阅请求文档。那里有很好的示例。

Cookies默认是禁用的(否则,它们将在后续请求中使用)。 要启用cookie,请将jar设置为true(默认设置或选项),然后安装hard-cookie。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM