Javascript 在Node.js中,如何在标记中获取set-cookie值

Javascript 在Node.js中,如何在标记中获取set-cookie值,javascript,node.js,cookies,http-headers,setcookie,Javascript,Node.js,Cookies,Http Headers,Setcookie,在Node.js中,我需要捕获在响应中设置cookie的实例,以便对其进行操作。我用以下两种方式设置cookie: 通过设置cookie HTTP头 经由 我可以使用以下方法使第一个正常工作: if (getProperty(responseHeaders, 'set-cookie') != null) { //do something } 我将如何处理第二种方法?我需要删除HTML响应,还是有更好的方法?如果是前者,如何将?cookie作为HTTP头的一部分进行传输。这是一个HTTP

在Node.js中,我需要捕获在响应中设置cookie的实例,以便对其进行操作。我用以下两种方式设置cookie:

通过设置cookie HTTP头 经由 我可以使用以下方法使第一个正常工作:

if (getProperty(responseHeaders, 'set-cookie') != null) {
    //do something
}

我将如何处理第二种方法?我需要删除HTML响应,还是有更好的方法?如果是前者,如何将?

cookie作为HTTP头的一部分进行传输。这是一个HTTP的东西,而不是HTML的东西

当Cookie从客户端发送到服务器时,标题字段称为“Cookie”。在响应输入请求时,如果要在客户端浏览器中设置或保留Cookie,则必须始终在响应中包含“Set Cookie”标记

如果未设置cookie,它将在客户端浏览器中删除

您可以在req.header['set-cookie']中查找cookie,并且可以使用响应以相同的方式设置cookie


有很多很好的图书馆可以为你做这一切。请看一看,它适用于Express、Connect和normal NodeJ:

我通过在响应主体上使用正则表达式解决了这个问题:

var regexHandler = function(match, cookieValue){
    return ""; //remove the meta tag
};

responseBody = responseBody.replace(/<meta.*http-equiv=[\"']?set-cookie[\"']?.*content=[\"'](.*)[\"'].*>/gi, regexHandler);
responseBody = responseBody.replace(/<meta.*content=[\"'](.*)[\"'].*http-equiv=[\"']?set-cookie[\"']? .*>/gi, regexHandler);

我不确定是否有更好的方法,但我会使用DOMParser或简单的正则表达式..您需要刮取HTML响应…但是任何浏览器都支持通过元元素设置cookie吗?