현재 node.js에 응용 프로그램을 구축 중입니다. 서버 측 HTTP 요청을 ASP 스크립트로 만들고 결과를 반환하려고합니다.Node.js ASP 스크립트에 대한 서버 측 HTTP 요청
브라우저에서 URL로 이동하면 모든 문제가 해결됩니다. 데이터가 리턴됩니다. 그러나, 나는 node.js에서 restler를 사용하거나 다른 모듈을 사용하여이를 수행합니다. 나는 아무것도 얻지 못한다 ...... ASP.NET_SessionId 쿠키를 요청의 헤더에 추가 할 때까지. 나는이 쿠키를 내 브라우저에서 GET 한 후 복사했다.
node.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
/*
* 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' });
};
ASP 페이지에 인증이 필요합니까? – Neps
인증이 필요하지 않습니다. –