NodeJS和HTTP客户端 - 是否支持cookie?

Rad*_*Hex 20 javascript http node.js

NodeJS是一个非常棒的工具,速度极快.

我想知道HTTPClient是否支持cookie,以及是否可以用来模拟非常基本的浏览器行为!


非常感谢帮助!=)


编辑:

发现这个:node-httpclient(看起来很有用!)无法正常工作!

isa*_*acs 30

简答:不.它不是那么好.

我实现了这个作为npm的一部分,以便我可以从github下载tarball.这是代码:https://github.com/isaacs/npm/blob/master/lib/utils/fetch.js#L96-100

var cookie = get(response.headers, "Set-Cookie")
if (cookie) {
  cookie = (cookie + "").split(";").shift()
  set(opts.headers, "Cookie", cookie)
}
Run Code Online (Sandbox Code Playgroud)

该文件有很多特定于npm的东西(日志,设置等),但它应该向您展示一般的想法.基本上,我正在收集cookie,以便在我被重定向时可以在下一个请求时将它们发回.

我和Mikeal Rogers讨论过将这种功能添加到他的"request"工具中,完成支持文件系统支持的cookiejar,但这真的很棘手.您必须跟踪要将Cookie发送到哪些域,依此类推.

由于这个原因,这可能永远不会直接包含在节点中.但要留意用户空间的发展.

编辑:现在默认情况下在Request中支持.


Kur*_*aze 1

只需从响应标头中的参数获取 cookieSet-Cookie并将其与将来的请求一起发送回来即可。应该不难。

  • 如果不难的话,也许您可​​以在答案中提供一个示例片段? (25认同)