gpt4 book ai didi

asp.net - Node.js 服务器端对 ASP 脚本的 HTTP 请求

转载 作者:太空宇宙 更新时间:2023-11-04 02:42:10 25 4
gpt4 key购买 nike

当前正在使用 Node.js 构建应用程序。我正在尝试向 ASP 脚本发出服务器端 HTTP 请求并返回结果。

如果我在浏览器中导航到该网址,一切都很好。返回数据。但是,当我使用 ReSTLer 或任何其他模块在 Node.js 中执行此操作时。我什么也没得到……直到我将 ASP.NET_SessionId cookie 添加到请求的 header 中。我从浏览器成功的 GET 中复制了这个 cookie。

如何在 Node.js 中获取/设置此 session Cookie 服务器端?

使用express框架。代码如下。

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

};

最佳答案

尝试request 。它有一个“ cookies jar ”,因此它会为您记住 cookies 。

关于asp.net - Node.js 服务器端对 ASP 脚本的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13636625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com