本文目录一览:
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的信息了。