簡體   English   中英

Node.js服務器端對ASP腳本的HTTP請求

[英]Node.js Server-Side HTTP request to ASP script

當前在node.js中構建應用程序。 我正在嘗試向ASP腳本發出服務器端HTTP請求並返回結果。

如果我在瀏覽器中導航到該URL,則一切正常。 返回數據。 但是,當我使用restler或其他任何模塊在node.js中執行此操作時。 我什么也沒回來……直到我將ASP.NET_SessionId cookie添加到請求的標題中。 我從瀏覽器的繼任GET復制了此cookie。

如何在node.js中獲取/設置會話cookie服務器端?

使用快速框架。 下面的代碼。

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

/*
 * 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' });

};

嘗試請求 它有一個“餅干罐”,因此它將為您記住餅干。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM