我在节点
中尝试了3个不同的http库所有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' }
Requestify
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的问题吗?我应该用Python做到吗?
编辑:
我试图删除通过节点发布的数据,我也有与wget相同的响应。 当我使用浏览器并完成登录操作时,它会返回我的json + set-cookie。
为什么节点不可能?
答案 0 :(得分:0)
您可能没有正确使用Cookie。通常它们不会直接作为标头变量访问。有关如何处理cookie的信息,请参阅request文档。那里有很好的例子。
默认情况下禁用Cookie(否则,它们将被用于 后续要求)。要启用cookie,请将jar设置为true(在 默认值或选项)并安装tough-cookie。