En cours de construction d'une application dans node.js. J'essaie de faire une requête HTTP côté serveur à un script ASP et de renvoyer les résultats.Node.js Requête HTTP côté serveur pour le script ASP
Si je navigue vers l'URL dans mon navigateur, tout va bien. Les données sont retournées. Cependant, quand je le fais dans node.js en utilisant restler, ou tout autre module d'ailleurs. Je n'ai rien en retour ...... JUSQU'A ajouter le cookie ASP.NET_SessionId à l'en-tête de la requête. J'ai copié ce cookie du GET successul de mon navigateur.
Comment puis-je obtenir/définir ce cookie de session côté serveur dans node.js?
Utilisation de l'infrastructure express. Code ci-dessous.
app.js
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('cat'));
app.use(express.session());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
app.get('/users', user.list);
http.createServer(app).listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
index.js itinéraire
/*
* GET home page.
*/
exports.index = function(req, res){
var http = require("http"),
sys = require('util'),
rest = require('restler');
rest.get('http://192.168.154.134/dca/stream/StreamDown.asp?' +
'Action=GetRepositoryConnections' , {headers:{
'Cookie':'ASP.NET_SessionId=jj1jx255wlkwib45gq0d3555;' +
' ASPSESSIONIDASDDSBQR=ACABCJNDIIONGGMPGAOMMJJD;' +
' ASPSESSIONIDCQQRQDQR=BAIBCEODMMKAPJAOLLMMDNEJ;' +
' ASPSESSIONIDAQSTRAQR=KMLDIOODECFNBKPGINLLNBKC;' +
' ASPSESSIONIDASQQQDQR=OKGBKCPDHDIKAJNOGFKACCCG'}
}).on('complete', function(result) {
if (result instanceof Error) {
sys.puts('Error: ' + result.message);
this.retry(5000); // try again after 5 sec
} else {
sys.puts(result);
}
});
res.render('index', { title: 'Express' });
};
Cette page ASP nécessite-t-elle une authentification? – Neps
Aucune authentification requise. –