2012-11-29 5 views
1

현재 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' }); 

}; 
+0

ASP 페이지에 인증이 필요합니까? – Neps

+0

인증이 필요하지 않습니다. –

답변

0

request 시도를 app.js. 그것은 "쿠키 항아리"를 가지고있어서 쿠키를 기억할 것입니다.

+0

어떻게 저장합니까? 첫 번째 요청에 대해 서버에서 세션 쿠키를 가져 오는 방법은 무엇입니까? 그것이 내가 고심하고있는 곳입니다. –

+0

홈페이지에 대한 초기 요청을하면 쿠키가 제공됩니다. – Max

관련 문제