Transferer une variable depuis python vers nodejs
Résolu
wanwanwan
Messages postés
14
Statut
Membre
-
wanwanwan Messages postés 14 Statut Membre -
wanwanwan Messages postés 14 Statut Membre -
Bonjour,
j’essaie depuis quelques jours de transférer une variable depuis un petit programme simple python vers un serveur nodejs. Je dois pas être très loin du but car mon programme arrive bien a interagir avec le serveur mais je n'arrive pas encore à vraiment récupérer les données et les traiter.
voici mon code python :
voici mon code nodejs (code allégé):
A mon sens le probleme provient de la syntaxe ou un truc du genre. Dans ce code, je souhaite de maniere basique, passer une variable du code python vers le serveur, puis coté serveur, traiter la variable (la récupérer puis l'afficher dans la console) et in fine renvoyer cette variable dans ma page html. D'ou le io.emit.
En vous remerciant pour votre aide.
j’essaie depuis quelques jours de transférer une variable depuis un petit programme simple python vers un serveur nodejs. Je dois pas être très loin du but car mon programme arrive bien a interagir avec le serveur mais je n'arrive pas encore à vraiment récupérer les données et les traiter.
voici mon code python :
import requests
SIGNUP_URL = 'http://localhost:8000/timer'
def submit_form():
obj = {name:'whateever'}
resp = requests.post(SIGNUP_URL, data = obj)
if __name__ == '__main__':
submit_form()
voici mon code nodejs (code allégé):
var http = require('http');
var express = require('express');
var app = express();
app.get('/', function (request, response) {
response.sendFile(__dirname + '/public/index.html');
});
var server = http.createServer(app);
var io = require('socket.io')(server);
const bodyParser = require('body-parser');
const path = require('path');
const {execFile, exec, spawn} = require ('child_process');
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/timer', function(req, res){
res.sendFile(__dirname + '/public/status.html');
var test = "test";
var data = req.body;
var info = data.name;
io.emit('messageFromServer', { info });
console.log('info')
});
server.listen(8000, console.log("listening to port 8000"));
A mon sens le probleme provient de la syntaxe ou un truc du genre. Dans ce code, je souhaite de maniere basique, passer une variable du code python vers le serveur, puis coté serveur, traiter la variable (la récupérer puis l'afficher dans la console) et in fine renvoyer cette variable dans ma page html. D'ou le io.emit.
En vous remerciant pour votre aide.
Configuration: Windows / Firefox 87.0
A voir également:
- Transferer une variable depuis python vers nodejs
- Transférer message whatsapp - Accueil - WhatsApp
- Comment transferer une boite mail vers une autre - Guide
- Citizen code python avis - Accueil - Outils
- Comment transférer iphone vers iphone manuellement - Guide
- Windows 7 vers windows 10 - Accueil - Mise à jour
4 réponses
bonjour,
tu n'expliques pas le comportment de ton programme: message d'erreur, ..., ?
en python, je suis surpris que ceci fonctionne:
d'où sort
en nodejs,
que donne
ne serait-il pas instructif d'xaminer ce que contient les variables req et
si tu veux uniquement transmettre une valeur de python à nodejs, pourquoi pas simplement
si tu veux transmettre une structure, moi j'essaierais du json.
tu n'expliques pas le comportment de ton programme: message d'erreur, ..., ?
en python, je suis surpris que ceci fonctionne:
obj = {name:'whateever'}
d'où sort
name?
en nodejs,
que donne
console.log('info')?
ne serait-il pas instructif d'xaminer ce que contient les variables req et
data?
si tu veux uniquement transmettre une valeur de python à nodejs, pourquoi pas simplement
obj = 'whateever'
si tu veux transmettre une structure, moi j'essaierais du json.
Bonjour, merci pour la réponse.
Je n'ai pas de message d'erreur dans le fonctionnement du programme. A priori cela ne le dérange pas.
Pour l'utilisation que je veux, effectivement récupérer simplement obj = "whatever", me semble plus évident.
Dans le fonctionnement je veux :
1 - une variable éditée dans le programme python (ça je sais faire)
2 - formaliser cette variable et l'envoyer vers le serveur (ça je suis pas certain de bien le faire)
3 - récupérer cette variable par le nodejs (ça je suis pas certain de bien le faire)
4 - renvoyer cette variable du nodejs vers une page html (ça je dois savoir le faire)
Je vais faire quelques tests, maintenant que j'ai l'esprit un peu plus clair.
Merci pour ces quelques orientations.
Bonne journée.
Je n'ai pas de message d'erreur dans le fonctionnement du programme. A priori cela ne le dérange pas.
Pour l'utilisation que je veux, effectivement récupérer simplement obj = "whatever", me semble plus évident.
Dans le fonctionnement je veux :
1 - une variable éditée dans le programme python (ça je sais faire)
2 - formaliser cette variable et l'envoyer vers le serveur (ça je suis pas certain de bien le faire)
3 - récupérer cette variable par le nodejs (ça je suis pas certain de bien le faire)
4 - renvoyer cette variable du nodejs vers une page html (ça je dois savoir le faire)
Je vais faire quelques tests, maintenant que j'ai l'esprit un peu plus clair.
Merci pour ces quelques orientations.
Bonne journée.
Bonjour après corrections :
code python :
code nodejs :
ça fonctionne.
En lançant le nodejs et le code python, voici ce qui s'affiche dans la console nodejs:
Trop cool !
code python :
import requests
SIGNUP_URL = 'http://localhost:8000/timer'
def submit_form():
obj = {name:'whateever'}
resp = requests.post(SIGNUP_URL, data = obj)
if __name__ == '__main__':
submit_form()
code nodejs :
app.post('/timer', function(req, res){
res.sendFile(__dirname + '/public/status.html');
var info= req.body;
io.emit('messageFromServer', info);
console.log(info)
});
ça fonctionne.
En lançant le nodejs et le code python, voici ce qui s'affiche dans la console nodejs:
{ name : 'whateever' }
Trop cool !