Articles of cookies

使用节点请求将Cookie JAR导出到JSON

request文档通过以下示例介绍如何从文件导入cookie: var FileCookieStore = require('tough-cookie-filestore'); // NOTE – currently the 'cookies.json' file must already exist! var j = request.jar(new FileCookieStore('cookies.json')); request = request.defaults({ jar : j }) request('http://www.google.com', function() { request('http://images.google.com') }) 但是,正如评论中指出的那样,它预计cookies.json已经存在。 问题是,如果我有一个带有cookie的exsting jar,我怎样才能把它导出到JSON?

如何使用cookie(request,tough-cookie,node.js)

我想知道如何使用cookie与请求 ( https://github.com/mikeal/request ) 我需要设置一个可以从请求中获取每个子域的cookie, 就像是 * .examples.com path是每个页面,就像 / 那么服务器端就可以正确地从cookie中获取数据,就像 testing= 1234 我发现从响应安装的cookie工作正常, 我添加了一个自定义的jar来保存cookie,就像 var theJar = request.jar(); var theRequest = request.defaults({ headers: { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36' } , jar: theJar }); 但我从请求设置的cookie,只能在同一个域中获取, 我无法find一个方法来设置cookie更多的选项 现在,如果我想要一个能够在三个子域中获取的cookie, 我必须这样设置: theJar.setCookie('test=1234', 'http://www.examples.com/', {"ignoreError":true}); theJar.setCookie('test=1234', 'http://member.examples.com/', {"ignoreError":true}); theJar.setCookie('test=1234', […]

Nodejs网页抓取与authenticationcookie

最近我试图从网站( kicktipp )使用Nodejs, 请求模块和cheerio刮取信息。 由于本网站需要身份validation才能查看其大部分网站,我尝试通过发布请求login,并检查用户是否使用以下代码login(我用虚拟数据replace了凭据,但在实际脚本中使用了真实数据): var request = require('request'); var jar = request.jar(); var request = request.defaults({ jar: jar, followAllRedirects: true }); var jar = request.jar(); var cheerio = require('cheerio'); request.post({ url: 'http://www.kicktipp.de/info/profil/loginaction', headers: { 'content-type': 'application/x-www-form-urlencoded' }, method: 'post', jar: jar, body: 'kennung=test@example.com&passwort=1234567890&_charset_=UTF-8&submitbutton=Anmelden' }, function(err, res, body){ if(err) { return console.error(err); }; request.get({ url: […]

Javascript:如何模拟浏览器 – Cookie的实施?

我正在尝试使用node.js创build一个function齐全的Web代理,它实质上是下载网页并将其显示给客户端。 我在执行cookies时遇到问题,因为它比我想象的要困难,因为他们有这么多的规则。 是否有任何库已经被用来模拟浏览器如何处理cookies?

无法使用Express 3.0在Node.js中设置cookie'expires'或'maxAge'

我一直在尝试使用Express 3.0在Node.js中设置我的Cookie的到期date,但没有任何工作。 我第一次尝试: res.cookie('user', user, { maxAge: 9000, httpOnly: true }); 根据Chrome浏览器只能截止一个无效的到期时间。 然后,我试图设置“过期”,而不是像这样: res.cookie('user', user, { expires: new Date(new Date().getTime()+5*60*1000), httpOnly: true }); 现在我的cookie只是一个会话cookie。 有谁知道如何解决这一问题?

node.js + express.js + socket.io授权:没有cookie

我无法从我的socket.io授权中获取“cookie”数据。 io.configure(function() { io.set('authorization', function (data, cb) { console.log(data); // data.headers.cookie <– should be the cookie }); }); 所以它打印的是: { headers: { host: 'frisr.dk:1000', connection: 'keep-alive', origin: 'http://frisr.dk', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2', accept: '*/*', referer: 'http://frisr.dk/', 'accept-encoding': 'gzip,deflate,sdch', 'accept-language': 'da-DK,da;q=0.8,en-US;q=0.6,en;q=0.4', 'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3' }, address: { […]

Iron Router和Meteor中的服务器端路由

前锋 在meteor看来,我们不能调用服务器端路由来将文件呈现给页面,而没有从我们正常的工作stream程中进行某种处理,从我所读到的有关服务器端路由的一些方面。 我希望我错了,有一个简单的方法来实现我想要做的事情… **对不起,如果这是有点长,但我认为在这种情况下提供更多的背景和上下文是必要的** 软件/版本 我正在使用最新的铁路路由器1. *和meteor1. *开始,我只是使用帐户密码。 背景/上下文 我有一个onBeforeAction,只要将用户redirect到欢迎页面或主页基础上,如果用户login或不是: 两者/ routes.js Router.onBeforeAction(function () { if (!Meteor.user() || Meteor.loggingIn()) this.redirect('welcome.view'); else this.next(); } ,{except: 'welcome.view'} ); Router.onBeforeAction(function () { if (Meteor.user()) this.redirect('home.view'); else this.next(); } ,{only: 'welcome.view'} ); 在同一个文件中,两个/ routes.js,我有一个简单的服务器端路由,呈现一个pdf到屏幕上,如果我删除onBeforeAction代码,路由工作(pdf呈现到页面): Router.route('/pdf-server', function() { var filePath = process.env.PWD + "/server/.files/users/test.pdf"; console.log(filePath); var fs = Npm.require('fs'); var […]

在request.jar中不能添加cookie

我在一个项目中使用了request.js,并且从版本2.30.0开始,我不能再这样做了: var j = request.jar(); var cookie = request.cookie('uid'); cookie.value = browser.cookies.select({name:'uid'})[0].value; j.add(cookie); 我的错误是: TypeError: Object #<CookieJar> has no method 'add' 有人问题解决了吗?

传递cookie作为node.js请求的一部分

我正在使用request包创build我的服务器端请求。 我写了authentication中间件,检查所有请求的Cookie /会话ID。 因此,有没有办法将用户的cookie包含在请求中? 这是我现在的代码: var cookie = parseCookie.parseCookie(req.headers.cookie); request('http://localhost:3000/users/api', function(error, response, body) { console.log(body); //this console.logs my login page since requests w/o valid cookies get redirected to login res.render('../views/admin'); }); 目前,这在控制台中返回“没有findcookie”。 但是,如果我closures身份validation中间件,上面的代码按预期工作。 附加信息: 我想要的cookie是位于浏览器上的最终用户的cookie。 最终用户的cookie是应用程序在用户login时创build的。 更新 – 解决scheme尝试1: 我从文档中试了这个: var cookie = parseCookie.parseCookie(req.headers.cookie); var cookieText = 'sid='+cookie; var j = request.jar(); var cookie = […]

Chrome在redirect后不会发送Cookie

在node.js(使用Hapi框架)我创build用户的链接,以允许我的应用程序读取用户帐户。 Google处理该请求并询问授予权限。 然后谷歌使用GET参数作为响应代码redirect到我的服务器,在这里我有一个问题。 谷歌浏览器不会发送带有会话ID的cookie。 如果我在cookie编辑扩展中将该cookie标记为会话cookie,则会发送该cookie。 同样的行为在PHP中,但PHP创build会话时标记为会话,所以这不是问题。 我正在使用插件hapi-auth-cookie,它会创build会话并处理它的一切。 我也将这个cookie标记为非HttpOnly的hapi-auth-cookie设置,因为这是第一个区别,我注意到,当检查PHP会话cookie和我的node.js。 我有响应401缺less身份validation每个redirect。 如果我把光标放在地址栏并按回车,一切正常,所以这是一个redirect的问题。 我的问题基本上是什么可能导致这种行为。 另一方面,我不得不提到,每次请求后,firefox都会发送cookie而不会有任何问题。 redirect后的标题(没有会话的cookie): { "host": "localhost:3000", "connection": "keep-alive", "cache-control": "max-age=0", "upgrade-insecure-requests": "1", "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36", "x-client-data": "CJS2eQHIprbJAQjEtskECKmdygE=", "x-chrome-connected": "id=110052060380026604986,mode=0,enable_account_consistency=false", "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "accept-encoding": "gzip, deflate, sdch, br", "accept-language": "pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4" } 点击后进入地址栏(什么会正常工作): { "host": "localhost:3000", "connection": "keep-alive", […]