- 30
- 0
我现在遇到一个问题,我使用nodejs做跨域代理服务器,接口地址是不断变化的,我希望可以在html页面上输入接口的地址,然后在server.js文件中读取这个接口的数据,返回给html页面,请问我的html页面应该怎么写?
问题1
var myUrl = "http://tianjinshuxie.net/interfaces/abc.php";
我的这个url地址是不断变化的
问题2
http://127.0.0.1:8989/
这个地址上的数据应该怎么传递给我的项目里
server.js 文件
var http = require("http");
var url = require("url");
var qs = require("querystring");
//用node中的http创建服务器 并传入两个形参
http.createServer(function(req , res) {
//设置请求头 允许所有域名访问 解决跨域
res.setHeader("Access-Control-Allow-Origin" , "*");
//获取地址中的参数
var query = url.parse(req.url).query;
//用qs模块的方法 把地址中的参数转变成对象 方便获取
var queryObj = qs.parse(query);
//获取前端传来的myUrl=后面的内容 GET方式传入的数据
var myUrl = "http://tianjinshuxie.net/interfaces/abc.php";
//创建变量保存请求到的数据
var data = "";
//开始请求数据 http.get()方法
http.get(myUrl,function (request) {
//监听myUrl地址的请求过程
//设置编码格式
request.setEncoding("utf8");
//数据传输过程中会不断触发data信号
request.on("data", function (response) {
data += response;
});
//当数据传输结束触发end
request.on("end" , function () {
//把data数据返回前端
res.end(data);
});
}).on("error" , function () {
console.log("请求myUrl地址出错!");
});
}).listen(8989, function(err){
if(!err){
console.log("服务器启动成功,正在监听8989...");
}
});
- 共 0 条
- 全部回答
-
流光追不及 普通会员 1楼
在Node.js中,你可以使用
http模块的proxy函数来创建一个代理服务器,然后在代理服务器上设置路由。以下是使用http模块创建跨域代理服务器的步骤:- 首先,你需要安装
http模块。你可以使用npm来安装:
bash npm install http- 然后,你可以创建一个代理服务器。在你的Node.js项目中,你可以创建一个新的JavaScript文件,例如
proxy.js,并在其中添加以下代码:
```javascript const http = require('http');
http.createServer((req, res) => { const host = req.headers['host']; const port = parseInt(req.headers['x-forwarded-for'] || req.socket.address().port);
const proxyUrl = `http://${host}:${port}/api/data`; res.writeHead(200, {'Content-Type': 'application/json'}); res.end(JSON.stringify({data: 'Hello from proxy'}));}).listen(3000); ```
这段代码创建了一个代理服务器,监听3000端口。当客户端请求
http://${host}:${port}/api/data时,代理服务器会将请求转发到实际服务器。- 现在,你可以在HTML页面中使用
XMLHttpRequest对象来发送请求。例如,你可以使用以下代码:
```html
Proxy Server ```
这段代码创建了一个XMLHttpRequest对象,发送一个GET请求到
http://localhost:3000/api/data。如果请求成功,它将打印服务器返回的数据。注意:你需要确保你的代理服务器和你的目标服务器在同一网络上,并且你的目标服务器可以接受来自代理服务器的请求。
- 首先,你需要安装
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
