Tag: 头部

Nodejs使用请求在头中发送数据

服务器只接受标题中发送的数据。 这样做使用这个代码服务器越来越空的对象: const request = require('request') request.post({ url: 'https://…..', body: { userid: 'cris', gameid: '12' }, headers: { "Content-Type": "application/x-www-form-urlencoded"} }) 用Postman来做,服务器得到正确的数据: 我如何使用代码发送头中的数据? 编辑: 在浏览器中显示服务器信息的打印屏幕应该有所帮助。

使用带有http分块传输的报头。 如何使用它设置cookie

使用预告片我想在页面stream式传输开始后设置一个cookie。 下面的代码尝试设置cookie。 它似乎返回正确的响应,但没有在浏览器中设置cookie(ff和chrome)。 var express = require('express'), http = require('http'), app = express(), server; app.use(app.router); app.all('*', function(req, res) { res.setHeader('Trailer', 'Set-Cookie'); res.setHeader('Content-Type', 'text/plain'); res.write("hi this is ogkla"); res.addTrailers({'Set-Cookie': "val=ogkla"}); res.end(); }); server = http.createServer(app).listen(80); module.exports = server; 响应 curl -iv –raw 'http://localhost/' * Adding handle: conn: 0x7fd87180aa89 * Adding handle: send: 0 * Adding handle: […]

无法使用nodejsencryption签名文件

我已经用nodejsencryption创build了一个私钥,并且想用这个密钥来签署一个文件。 我的代码如下: var ecdh = crypto.createECDH('brainpoolP512t1'); ecdh.generateKeys(); var key = ecdh.getPrivateKey('buffer'); var data= fs.readFileSync(req.file.path); var sign = crypto.createSign('sha512'); sign.update(data); var signature = sign.sign(key, 'hex'); 但是我得到的错误: Error: error:0906D06C:PEM routines:PEM_read_bio:no start line at Error (native) at Sign.sign (crypto.js:283:26) at /….js:32:27 at Immediate.<anonymous> (/…/node_modules/multer/lib/make-middleware.js:52:37) at runCallback (timers.js:578:20) at tryOnImmediate (timers.js:554:5) at processImmediate [as _immediateCallback] (timers.js:533:5) 我知道这与关键格式有关,但我不知道如何解决这个问题。 谁能帮忙? 更新:我编辑的私钥以适应pem格式: […]

如何更改请求头限制

我在我的localhost:3000上启动了节点express ** curl -H'samlresponse:12323'-v http:// localhost:3000 ,正确返回数据。 但如果我尝试跟着… curl -H'samlresponse:{这里是整个samlresponse,这是非常长的..大约20k ..} -v http:// localhost:3000 服务器总是返回“空的答复从服务器”,有没有办法来通过或修复这个问题?

快递+请求中途更改标题

我使用express作为我的服务器,并请求从上游框中检索内容。 我有这个漂亮简单的函数来将数据从上游stream传输到客户端: function(req, res){ request("http://example.com").pipe(res); } 上游方框正在返回caching头Cache-Control: no-cache我想修改Cache-Control: no-cache ,以便Nginx(反向代理)可以caching响应。 我应该在哪里放res.header('Cache-Control', 60); ? 我试过了: function(req, res){ var retrieve = request("http://example.com"); retrieve.on('data', function(chunk){ if(res.get('Cache-Control') != 60) res.header('Cache-Control', 60); }); retrieve.pipe(res); } 但是这会引发Error: Can't set headers after they are sent错误Error: Can't set headers after they are sent 。 是否有一个侦听器在发送头文件时触发,但是在writeHeader()之前?

不使用node.js / Expressredirect的标题

我对node.js,Express和移动开发相对比较陌生,并且遇到了一个我认为与使用Express发送头文件有关的问题。 用户从主页“/”开始,未login,然后单击button进入login页面。 当他们提交他们的用户名和密码到“/ validate_signin”时,他们应该被redirect回主页,这次主页以不同的方式显示,因为他们已经login了。 redirect是这样工作的: res.redirect('/'); 这在我的笔记本电脑上工作正常,但在我的手机上,它redirect到“/”,在旧的状态,大概是因为caching。 如果我刷新手机上的页面,则会显示“/”。 我发现这篇文章: 如何在所有浏览器上控制网页caching? 试图设置以下两种方式(单独)的标题,但他们似乎并没有发送: res.header("Cache-Control", "no-cache, no-store, must-revalidate"); res.header("Pragma", "no-cache"); res.header("Expires", 0); res.writeHead(302, { "location": "/", "Cache-Control" : "no-cache, no-store, must-revalidate", "Pragma": "no-cache", "Expires": 0 }); 这是我目前收到的标题: HTTP/1.1 304 Not Modified X-Powered-By: Express Date: Fri, 13 Jul 2012 17:35:18 GMT Cache-Control: public, max-age=0 Last-Modified: Fri, 13 Jul 2012 […]