nodejs带cookies(nodejs?)
更新:2022-11-10 13:54
本文目录一览:
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模块直接可以使用,而且还有很多简单粗暴的库可以即拿即用。 首先,需要的库文件:
- superagent 是个轻量的的 http 方面的库,就像jquery的post,和get一样,很简单。
- cheerio 是一个服务端操作DOM的库,简直就是服务端的jquery。
好的,我们需要抓取某个网站的题目。如下图。这个系统下,即使是游客状态也是可以查看题目的,只是答案我们看不到。会显示我没有登录。
现在我们有个需求,先抓取15页,根据URL的参数可以页数就是地址中的
p
。并且要有本地cookie,获取cookie的方法,最简单的是,利用浏览器登录网站之后,在控制台直接打印document.cookie
,得到之后,复制进txt文本。用fs
模块读取并转换成字符串。在superagent
请求时,把cookie传进去。 好了,控制台已经不输出“未登录”,说明已经登录成功了。
nodejs跨域怎么获取cookie
这个没有办法获取到的。 浏览器的同源策略,是不允许跨域读取cookie的。 而Nodejs是服务器端,如果浏览器都不允许,服务器自然就获取不到跨域cookie的信息了。