您的位置:

nodejs读写cookie(nodejs读写Word)

nodejs读写cookie(nodejs读写Word)

更新:

本文目录一览:

nodejs怎么设置cookie

var http = require('http');

http.createServer(function (req, res) {

// 获得客户端的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');

}).listen(8000);

console.log('Server running at ');

如果去掉其中几句,就是官方给出的例子,除了表明返回一个页面多简单外,一点用也没有。

var http = require('http');

http.createServer(function (req, res) {

res.writeHead(200, {'Content-Type': 'text/plain'});

res.end('Hello World\n');

}).listen(8000);

console.log('Server running at ');

我们通过http.createServer的回调来处理所有请求与响应,因此什么有用的东西都在它们上面。Cookie位于req对象的headers对象上,为一个字符串,通常为了方便我们将它们转换成一个对象。

写入一个Cookie其实就是在首部设置一个键值对,上面是简单方式,它实际上可以这样:

res.writeHead(200, {

'Set-Cookie': ["aaa=bbb","ccc=ddd","eee=fff"],

'Content-Type': 'text/plain'

});

但真正使用时,我们的Cookie并非这样简单的的格式:

Set-Cookie: =[; =]

[; expires=][; domain=]

[; path=][; secure][; HttpOnly]

console.log('Server running at ');

HttpOnly 属性: 这是微软对Cookie做的扩展。如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。

var http = require('http');

http.createServer(function (req, res) {

// 获得客户端的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': 'SSID=Ap4GTEq; Expires=Wed, 13-Jan-2021 22:23:01 GMT;HttpOnly ',

'Content-Type': 'text/html'

});

res.end('Hello World\nscriptconsole.log(document.Cookie)/script');

}).listen(8000);

console.log('Server running at ');

然后多刷几次页面,我们发现我们还能在控制台看到SSID=Ap4GTEq这个属性,但在前端我们看不到它(当然在firebug中能看到)。

Secure属性: 当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。同上,在客户端我们也无法在document.Cookie找到被设置了Secure=true的Cookie键值对。Secure属性是防止信息在传递的过程中被监听捕获后信息泄漏,HttpOnly属性的目的是防止程序获取Cookie后进行攻击。我们可以把Secure=true看成比HttpOnly更严格的访问控制。

path属性: 指定可访问Cookie的目录。例如:"userId=320; path=/shop";就表示当前Cookie仅能在shop目录下使用。

domain属性: 指定可访问Cookie的主机名.主机名是指同一个域下的不同主机,例如:和gmail.google.com就是两个不同的主机名。默认情况下,一个主机中创建的Cookie在另一个主机下是不能被访问的, 但可以通过domain参数来实现对其的控制,其语法格式为:"name=value; domain=CookieDomain";以google为例,要实现跨主机访问,可以写为: "name=value;domain=.google.com";这样,所有google.com下的主机都可以访问该Cookie。

Expires属性:指定过期时间,格式为"name=value;; expires=GMT_String"; 其中GMT_String是以GMT格式表示的时间字符串,超过这个时间,Cookie将消失,不可访问。例如:如果要将Cookie设置为10天后过期,可以这样实现:

简单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的信息了。

nodejs读写cookie(nodejs读写Word)

本文目录一览: 1、nodejs怎么设置cookie 2、简单NodeJS爬虫和使用cookie进行模拟登录 3、nodejs跨域怎么获取cookie nodejs怎么设置cookie var htt

2023-12-08
nodejs编程pdf,nodejs程序

2022-11-23
nodejs写代码(nodejs运行js代码)

本文目录一览: 1、如何用sublime text 3进行node.js开发 2、nodejs棋牌源代码怎么写 3、怎样安装nodejs,编写运行第一个hello world代码 4、我想给一些菜鸟看

2023-12-08
nodejs与c++(nodejs与cookie)

本文目录一览: 1、nodejs的C/C++ addons机制是怎么实现的 2、c#和nodejs 哪个前期学习容易 3、nodejs如何把c指针转成buffer 4、如何在Windows下开发Nod

2023-12-08
nodejs带cookies(nodejs?)

本文目录一览: 1、nodejs怎么设置cookie 2、简单NodeJS爬虫和使用cookie进行模拟登录 3、nodejs跨域怎么获取cookie nodejs怎么设置cookie // 获得客户

2023-12-08
nodejs跨域cookie,前端node跨域处理

2022-11-23
nodejs写一个编译器(nodejs编译js源码)

本文目录一览: 1、如何使用nodejs搭建开发环境 2、nodejs 支持typescript吗 3、如何使用webstorm和typescript编写nodejs 4、如何在本地搭建node.js

2023-12-08
nodejs中crypto,node nodejs

本文目录一览: 1、求教nodejs怎么对密码进行加盐的hash加密 2、nodejs里面怎么实现HMAC-SHA1 3、nodejs怎样获取一个上传文件的MD5码 4、关于nodejs 怎么实现 c

2023-12-08
nodejs和python哪个好,python+nodejs

2022-11-23
nodejs触发java程序(java nodejs)

2022-11-12
js跨域读写cookie,JavaScript 跨域

本文目录一览: 1、如何用js实现跨域获取cookie 2、怎么用js跨域读到iframe里的cookie 3、js能读取跨域的cookie吗 4、js控制cookie跨域 5、js本地能写入别的域名

2023-12-08
python和nodejs,python和nodejs界面开

2022-11-23
nodejs开发实战详解,nodejs开发实战 pdf

2022-11-28
搭建基于nodejs的服务器实现用户登录功能,nodejs写

本文目录一览: 1、如何在阿里云服务器上搭建nodejs 2、如何使用nodejs快速搭建本地服务器 3、nodejs搭建web服务器就是这么简单! 4、如何用nodejs搭建web服务器 5、nod

2023-12-08
node.js与java后端,nodejs能写后端吗

本文目录一览: 1、现大三学生学node.js后端和java后端哪个比较有优势 2、node.js是前端还是后端 3、用java做后台用nodejs做前台是什么意思 现大三学生学node.js后端和j

2023-12-08
node读取js文件内容(nodejs读取文件和写文件的方法

本文目录一览: 1、node.js实现逐行读取文件内容的代码 2、nodejs 获取串口数据 3、node.js 基础操作 node.js实现逐行读取文件内容的代码 在此之前先介绍一个逐行读取文件内容

2023-12-08
nodejs进行web程序开发,nodejs做web开发

本文目录一览: 1、nodejs搭建web服务器就是这么简单! 2、如何使用node.js web开发 3、怎么用nodejs搭建web服务器 4、Node.js 适合用来做 web 开发吗 5、we

2023-12-08
cs软件nodejs,Cs软件ui

本文目录一览: 1、怎么安装安装 nodejs 和 npm 2、nodejs客户端需要安装环境吗 3、nodejs可以做什么 4、如何利用nodejs安装程序安装最新版64位软件 5、nodejs怎么

2023-12-08
nodejs工程案例,nodejs网站项目实例

2023-01-09
node.js调试串口,nodejs编写后端接口

2022-11-23