小编mur*_*lai的帖子

如何在node.js中进行Base64编码?

node.js有内置的base64编码吗?

为什么我问这个的原因是,final()crypto只能输出十六进制,二进制或ASCII数据.例如:

var cipher = crypto.createCipheriv('des-ede3-cbc', encryption_key, iv);
var ciph = cipher.update(plaintext, 'utf8', 'hex');
ciph += cipher.final('hex');

var decipher = crypto.createDecipheriv('des-ede3-cbc', encryption_key, iv);
var txt = decipher.update(ciph, 'hex', 'utf8');
txt += decipher.final('utf8');
Run Code Online (Sandbox Code Playgroud)

根据文档,update()可以输出base64编码的数据.但是,final()不支持base64.我试过了,它会破裂.

如果我这样做:

var ciph = cipher.update(plaintext, 'utf8', 'base64');
    ciph += cipher.final('hex');
Run Code Online (Sandbox Code Playgroud)

然后我应该用什么解密?Hex或base64?

因此,我正在寻找一个函数来对我的加密十六进制输出进行base64编码.

谢谢.

base64 encoding node.js

787
推荐指数
4
解决办法
50万
查看次数

如何检索POST查询参数?

这是我的简单形式:

<form id="loginformA" action="userlogin" method="post">
    <div>
        <label for="email">Email: </label>
        <input type="text" id="email" name="email"></input>
    </div>
<input type="submit" value="Submit"></input>
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的Express.js /Node.js代码:

app.post('/userlogin', function(sReq, sRes){    
    var email = sReq.query.email.;   
}
Run Code Online (Sandbox Code Playgroud)

我试过sReq.query.emailsReq.query['email']sReq.params['email']等他们都没有工作.他们都回来了undefined.

当我改为Get电话时,它有效,所以..任何想法?

javascript post node.js express

746
推荐指数
16
解决办法
71万
查看次数

如何运行Node.js作为后台进程,永远不会死?

我通过putty SSH连接到linux服务器.我尝试将其作为后台进程运行,如下所示:

$ node server.js &
Run Code Online (Sandbox Code Playgroud)

但是,2.5小时后终端变为非活动状态并且过程终止.无论如何,即使终端断开连接,我仍然能保持活动状态吗?


编辑1

实际上,我尝试过nohup,但只要关闭Putty SSH终端或拔掉我的互联网,服务器进程就会立即停止.

在Putty有什么我需要做的吗?


编辑2(2012年2月)

永远有一个node.js模块.它将运行node.js服务器作为守护程序服务.

linux background-process node.js

472
推荐指数
10
解决办法
72万
查看次数

如何使用用户名和密码保护MongoDB

我想为我的MongoDB实例设置用户名和密码验证,以便任何远程访问都会要求输入用户名和密码.我尝试了MongoDB网站上的教程并做了以下事情:

use admin
db.addUser('theadmin', '12345');
db.auth('theadmin','12345');
Run Code Online (Sandbox Code Playgroud)

在那之后,我退出并再次运行mongo.而且我不需要密码来访问它.即使我远程连接到数据库,也不会提示我输入用户名和密码.


更新这是我最终使用的解决方案

1) At the mongo command line, set the administrator:

    use admin;
    db.addUser('admin','123456');

2) Shutdown the server and exit

    db.shutdownServer();
    exit

3) Restart mongod with --auth

  $ sudo ./mongodb/bin/mongod --auth --dbpath /mnt/db/

4) Run mongo again in 2 ways:

   i) run mongo first then login:

        $ ./mongodb/bin/mongo localhost:27017
        use admin
        db.auth('admin','123456');

  ii) run & login to mongo in command line.

        $ ./mongodb/bin/mongo localhost:27017/admin -u admin -p 123456
Run Code Online (Sandbox Code Playgroud)

用户名和密码将以相同的方式用于mongodumpmongoexport.

authentication mongodb

356
推荐指数
12
解决办法
39万
查看次数

342
推荐指数
7
解决办法
36万
查看次数

如何在Node.js中进行远程REST调用?任何CURL?

Node.js中,除了使用子进程进行CURL调用之外,是否有办法对远程服务器REST API 进行CURL调用并获取返回数据?

我还需要为远程REST调用设置请求标头,并在GET(或POST)中也查询字符串.

我找到了这个:http://blog.nodejitsu.com/jsdom-jquery-in-5-lines-on-nodejs

但它没有显示任何POST查询字符串的方法.

rest curl node.js

178
推荐指数
8
解决办法
35万
查看次数

如何为express.js服务器设置SSL证书?

之前,在较旧版本的express中,我可以这样做:

express.createServer({key:'keyFile', cert:'certFile'});
Run Code Online (Sandbox Code Playgroud)

但是,在较新版本的Express中,这不再有效:

var app = express();
Run Code Online (Sandbox Code Playgroud)

我应该打电话app.use()来设置证书吗?如果是这样的话?

ssl-certificate node.js express

122
推荐指数
3
解决办法
11万
查看次数

如何在Windows上安装cURL?

我已按照这里的所有说明操作: http //www.tonyspencer.com/2003/10/22/curl-with-php-and-apache-on-windows/

安装和配置apache获取PHP5包并获取CURL包.

我运行apache并运行PHP脚本.没问题.但是当我用curl运行php脚本时,它失败了.

它返回: **Call to undefined function curl_version() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testing.php on line 5**

在哪一行5被呼叫 curl_init()

我输出php -i以查看是否调用了正确的扩展路径.它设置正确:

extension_dir => C:\PHP\ext => C:\PHP\ext
cURL support => enabled
cURL Information => libcurl/7.16.0 OpenSSL/0.9.8g zlib/1.2.3
Run Code Online (Sandbox Code Playgroud)

我甚至试图跑,curl_version() 但仍然出现同样的错误.
看起来PHP无法找到CURL扩展名,但是php.ini(以及php -i)显示它已设置.

任何的想法?:)

P.S>  System I m running on:
Windows XP
Apache 2.2
PHP 5.2.6
CURL Win32 Generic Binaries: Win32 2000/XP  metalink    7.19.0  binary  SSL enabled     Daniel Stenberg     249 KB
Run Code Online (Sandbox Code Playgroud)

我没有得到这个:

Win32 2000/XP   7.19.0  libcurl     SSL enabled …
Run Code Online (Sandbox Code Playgroud)

php windows installation curl windows-xp

54
推荐指数
5
解决办法
21万
查看次数

如何在node.js中的"require"之后删除模块?

在我需要一个模块并执行以下操作后,请说:

var b = require('./b.js');
--- do something with b ---
Run Code Online (Sandbox Code Playgroud)

然后我想拿掉模块b(即清理缓存).我怎么能这样做?

原因是我想在不重新启动节点服务器的情况下动态加载/删除或更新模块.任何的想法?

-------更多--------基于删除require.cache的建议,它仍然不起作用...

what I did are few things:
1) delete require.cache[require.resolve('./b.js')];
2) loop for every require.cache's children and remove any child who is b.js
3) delete b
Run Code Online (Sandbox Code Playgroud)

但是,当我打电话给b时,它仍然存在!它仍然可以访问.除非我这样做:

b = {};
Run Code Online (Sandbox Code Playgroud)

不确定它是否是处理它的好方法.因为如果以后再次要求('./b.js')b.js被修改.它是否需要旧的缓存b.js(我试图删除)或新的?

-----------更多发现--------------

好.我做了更多的测试和玩代码..这是我发现的:

1) delete require.cache[]  is essential.  Only if it is deleted, 
 then the next time I load a new b.js will take effect.
2) looping through require.cache[] and delete any entry in the 
 children with …
Run Code Online (Sandbox Code Playgroud)

module require node.js

53
推荐指数
2
解决办法
3万
查看次数

什么类型的DOM元素?

e.g. if i have this:
<div id='mydiv'>whatever</div>
Run Code Online (Sandbox Code Playgroud)

然后在jQuery中说,我怎么能发现id为"mydiv"的dom元素是DIV或者是其他元素类型.

e.g. 
$('#mydiv').????  ?
Run Code Online (Sandbox Code Playgroud)

html jquery dom

40
推荐指数
3
解决办法
4万
查看次数