当前位置:网站首页>解决跨域的方法 --- Proxy
解决跨域的方法 --- Proxy
2022-08-02 14:17:00 【z_小张同学】
Proxy代理就是类似中间商,开启代理,原理就是在本地创建一个虚拟服务器,发送请求数据,同时接受请求的数据;
利用服务器与服务器间交互,不会有跨域问题,也是完全只靠前端自己独立解决跨域的方式。
Proxy代理的原理就是:前端如果要访问另一台服务器,就先向同源的服务器发送请求,然后服务器再与目标服务器之间实现交互,获取数据,然后再将数据发送给前端。

router.js文件:
var fs=require("fs")
var url=require("url")
var querysting=require("querystring")
var mime=require("mime")
let urls={}
var http=require("http")
let router=function(req,res){
//这个函数每次用户访问时运行
let pathname=url.parse(req.url).pathname
fs.readFile(router.basepath+pathname,(err,data)=>{
if(!err){
res.setHeader("content-Type",mime.getType(pathname))
res.end(data)
}else{
if(!urls[pathname]){res.end("404 not found-mymvc")}
else{urls[pathname](req,res)}
}
})
}
router.static=function(path){
this.basepath=path
}
router.get=function(url,cb){
urls[url]=cb
}
router.basepath=__dirname+"/public"
http.createServer(router).listen(8081)
module.exports=router;服务器端的index.js文件:
var router = require("./router")
var request = require("request")//是一个后端的网络请求工具
router.get("/home",function(req,res) {
// 代理
request("http://baidu.com/index.html", function(arg1,arg2,arg3) {
console.log(arg3);
})
})在指令窗DOS运行后,在浏览器输入正确的网址,当pathname为“/home”时,在DOS窗口就会打印出百度首页的html代码;也就间接实现了跨域访问百度页面的功能,但是却是通过自己的服务器获取的百度首页的信息。
边栏推荐
猜你喜欢
随机推荐
【无标题】
软件测试之WEB自动化
小知识系列:Fork之后如何与原仓库分支同步
三方对接接口数据安全问题
CDN的加速原理是什么?
tab 替换空格
H3C 交换机配置端口组、DHCP、DHCP中继、管理用户
grub 命令使用
abstract和接口的基础知识
解决启动filebeat时遇到Exiting: error unpacking config data: more than one namespace configured accessing错误
appium 报错:AttributeError:
Oauth2.0 认证服务器搭建
代码细节带来的极致体验,ShardingSphere 5.1.0 性能提升密钥
Mediasoup 杂谈(待完善)
计算机网络中的安全(一)网络安全的概念与加密原理
Mysql-Explain与索引详解
smart rtmpd web 接口说明
Three-way joint interface data security issues
Mysql索引优化一
Mysql开启日志并按天进行分割









