Tag: python

从安全的angular度来看,Python与NodeJS的Web应用程序

我打算构build一个安全性至关重要的Web应用程序,并且需要决定在后端使用哪种技术。 我正在考虑的选项是Python(大部分是Django框架)和NodeJS(可能带有express.js)。 从安全的angular度来看,我想知道使用这些技术的优点和缺点。

Python脚本连接到使用Nodejs创build的socket.io服务器

我使用nodejs在http:// localhost:8090上托pipe了一个HTTP服务器。 app.js文件 var fs = require('fs') , http = require('http') , socketio = require('socket.io'); var server = http.createServer(function(req, res) { res.writeHead(200, { 'Content-type': 'text/html'}); res.end(fs.readFileSync(__dirname + '/index.html')); }).listen(8090, function() { console.log('Listening at: http://localhost:8090'); }); socketio.listen(server).on('connection', function (socket) { socket.on('message', function (msg) { console.log('Message Received: ', msg); socket.broadcast.emit('message', msg); }); }); }); 现在我写一个python脚本来使用套接字编程连接到这个服务器。 client.py文件 #!/usr/bin/python […]

Websocket服务器连接到Django转发广播

我真的不知道如何问,但是,我将如何设置一个JavaScript的SocketIO或节点套接字服务器,将能够接受来自HTTP请求(Restful API)的消息?基本上我有一个Django后端,并希望一个SocketIO或节点服务器并排运行,处理通过HTTP请求提供给它的实时事件。 无论如何,要发送一个HTTP请求到SocketIO或节点服务器,将摘要并发送到它的房间广播? 还是这是现实?

Tchannel服务器代码不工作。 (Python和nodejs)

我刚开始学习Uber的Tchannel。 我试图从python和nodejs的tchannel文档运行代码。 在这两种情况下,我都无法将客户端连接到服务器。 这是我的代码看起来像nodejs,我从http://tchannel-node.readthedocs.org/en/latest/GUIDE/ : var TChannel = require('tchannel'); var myLocalIp = require('my-local-ip'); var rootChannel = TChannel(); rootChannel.listen(0,myLocalIp()); rootChannel.on('listening', function onListen() { console.log('got a server', rootChannel.address()); }); var TChannelThrift = rootChannel.TChannelAsThrift; var keyChan = rootChannel.makeSubChannel({ serviceName: process.env.USER || 'keyvalue' }); var fs = require('fs'); var keyThrift = TChannelThrift({ source: fs.readFileSync('./keyvalue.thrift', 'utf8') }); var ctx = […]

是否有一个基于浏览器的Websocket侦听器实现?

我很想知道是否有人为浏览器构build了一个javascript websocket监听器。 基本上是在客户端运行的websocket的服务器端。 这将允许消息直接发送到客户端。 为什么? 因为不是在客户端/浏览器上或附近有一个Node.js,python,java等服务器进程,所以我可以在浏览器中使用一个线程作为监听服务器线程。 我不认为目前有任何浏览器支持。 我跑过这样的答案: https : //news.ycombinator.com/item?id = 2316132 只是好奇,如果有人做到了这一点。 我相信当前的Websockets规范不支持浏览器上的侦听器。 这将使部署各种点对点应用程序更容易部署。

在node.js中获取从post发送的图像

我需要使用python发送图像,然后将其下载到node.js服务器端。 Python代码: import requests from PIL import Image import json url = 'http://127.0.0.1:8080/ay' files = {'file': open('image.jpg', 'rb')} r = requests.post(url, data = files) Node.js代码: var app = express(); app.use(bodyparser.json({ limit: '50mb' })); app.use(bodyparser.urlencoded({ limit: '50mb', extended: true })); app.post('/ay', function(req, res) { var base64Data = req.body.file require("fs").writeFile("out.png", base64Data, 'base64', function(err) { console.log(err); }); res.send('done'); […]

如何在MongoDB中创build一个字段不可改变?

用例:我正在使用MongoDB(和Flask)写一个后端。 目前,这并没有使用像Mongoose / Mongothon这样的ORM。 我想将创build每个文档的用户的_id存储在文档中。 我希望在创build之后不可能修改该字段。 后端当前允许使用(本质上) collection.update_one({"_id": oid}, {"$set": request.json})进行任意更新。 我可以从request.json中过滤出_creator_id字段(类似于del request.json["_creator_id"] ),但是我担心这并不能覆盖所有可能的修改语法的方法来使字段变成更新(嗯,点符号?)。 理想情况下,我想要一种在MongoDB中自己编写一次字段的方法,但是如果没有这个方法,那么可以采用一些防止代码中字段更新的方法。

从Python发送数据到节点服务器与套接字(NodeJS,Socket.io)

我试图从我的树莓pi3发送传感器数据(在python中)到我的本地节点服务器。 我发现了一个叫python的模块,用于向服务器发送数据。 在这里,我试图从我的树莓派3发送值22(以后会有传感器数据)到我的本地节点服务器与socket.io requests.get()的作品,但put命令不会发送数据。 你能告诉我错误在哪里吗? #!/usr/bin/env python # import requests r = requests.get('http://XXX.XXX.XXX.XXX:8080'); print(r) r = requests.put('http://XXX.XXX.XXX.XXX:8080', data = {'rasp_param':'22'}); 在我的server.js我尝试获取数据,但不知何故收到 server.js var express = require('express') , app = express() , server = require('http').createServer(app) , io = require('socket.io').listen(server) , conf = require('./config.json'); // Webserver server.listen(conf.port); app.configure(function(){ app.use(express.static(__dirname + '/public')); }); app.get('/', function (req, res) { […]

我应该使用什么格式在JSON中存储nodejs中使用的mongodb查询的时间戳记?

我目前正在使用python预处理我的数据到JSON,并通过nodejs插入我的数据到集合: collection.insert(data, {safe:true}, function(err, result) {}); 我的查询也将使用nodejs执行。 我以前使用python datetime.datetime格式化我的时间戳,这就是我的JSON结构: [{ "timestamp" : "2016-08-02 20:30:02", "detail" : blah blah blah },{ "timestamp" : "2016-08-02 20:33:23", "detail" : blah blah blah }, … ] 我试图查询基于时间戳,并根据很多这样的职位创build与pyMongo的ISODate ,我应该使用ISODate我的查询。 所以我的一个尝试是: collection.findOne({ timestamp: new ISODate("2016-08-02T20:33:23.786Z")}) 这个说ISODate是未定义的。 所以基于这个职位,我改变了我的查询: collection.findOne({ timestamp: new Date("2016-08-02T20:33:23.786Z")}) 这个说没有findlogging。 我应该如何将时间戳存储到JSON中? 是new Date("2016-08-02T20:33:23.786Z")正确的方式来检索我的实例吗? 另外,当mongodb查询时间戳时,它会查看确切的小时数和分钟数吗? 我想find确切的年份,月份,date,小时,分钟和秒,就像我的时间戳存储。

在字符8192中插入的随机逗号在python“json”结果中调用node.js

我是一个刚刚学习python的JS开发人员。 这是我第一次尝试使用节点(v6.7.0)和Python(v2.7.1)在一起。 我正在使用python-runner作为我的python virtualenv的桥梁。 我的python脚本使用RAKE NLP关键字提取包。 我无法弄清楚为什么我的server.js中的返回数据在字符8192处插入一个随机逗号,并且大致为倍数。 除了地点以外没有其他的模式。 有时它在对象密钥string的中间,而在逗号分隔对象对之后的其他时间。 这完全破坏了返回数据上的JSON.parse()。 下面的示例输出。 当我从python shell运行脚本时,这不会发生。 我真的不明白为什么会这样,任何有经验的开发者都有什么想法? 在浏览器中输出示例 […, {…ate': 1.0, 'intended recipient': 4.,0, 'correc…}, …] 在python shell中输出样本 […, {…ate': 1.0, 'intended recipient': 4.0, 'correc…}, …] 对于下面的文件中的对象转换和处理有所不同。 该代码已被简化以显示问题 server.js var restify = require('restify'); var py = require('python-runner'); var server = restify.createServer({…}); server.get('/keyword-extraction', function( req, res, next ) { […]