nodejs带cookies(nodejs?)

发布时间:2023-12-08

nodejs带cookies(nodejs?)

更新:2022-11-10 13:54

本文目录一览:

  1. nodejs怎么设置cookie
  2. 简单NodeJS爬虫和使用cookie进行模拟登录
  3. nodejs跨域怎么获取cookie

nodejs怎么设置cookie

// 获得客户端的Cookie
var Cookies = {};
req.headers.cookie && req.headers.cookie.split(';').forEach(function(Cookie) {
    var parts = Cookie.split('=');
    Cookies[parts[0].trim()] = (parts[1] || '').trim();
});
console.log(Cookies);
// 向客户端设置一个Cookie
res.writeHead(200, {
    'Set-Cookie': 'myCookie=test',
    'Content-Type': 'text/plain'
});
res.end('Hello World\n');

简单NodeJS爬虫和使用cookie进行模拟登录

NodeJS做爬虫也是很方便的。因为nodejs有HTTP模块直接可以使用,而且还有很多简单粗暴的库可以即拿即用。 首先,需要的库文件:

  1. superagent 是个轻量的的 http 方面的库,就像jquery的post,和get一样,很简单。
  2. cheerio 是一个服务端操作DOM的库,简直就是服务端的jquery。 好的,我们需要抓取某个网站的题目。如下图。这个系统下,即使是游客状态也是可以查看题目的,只是答案我们看不到。会显示我没有登录。 现在我们有个需求,先抓取15页,根据URL的参数可以页数就是地址中的 p。并且要有本地cookie,获取cookie的方法,最简单的是,利用浏览器登录网站之后,在控制台直接打印 document.cookie,得到之后,复制进txt文本。用 fs 模块读取并转换成字符串。在 superagent 请求时,把cookie传进去。 好了,控制台已经不输出“未登录”,说明已经登录成功了。

nodejs跨域怎么获取cookie

这个没有办法获取到的。 浏览器的同源策略,是不允许跨域读取cookie的。 而Nodejs是服务器端,如果浏览器都不允许,服务器自然就获取不到跨域cookie的信息了。