如何使用NodeJS绕过网站的引用检查

时间:2017-07-19 07:06:04

标签: javascript node.js node-http-proxy

有一种方法可以绕过网站的引荐来源检查吗? 使用nodeJS像代理或类似的东西?

有关信息,我必须在服务器上播放一些媒体,但是此服务器会检查引荐来源以获取特定值,如果值不在此处,则会将我重定向到404.

对于我个人的学习,我想在不在浏览器上安装插件的情况下找到nodeJS的解决方案。我已经完成了开发扩展(WebExtension API)以重写请求标头并添加referrer值。

由于

更新 这是我现在正在做的一个示例代码。 console.log向我显示添加的请求,但不显示Chrome检查器。

var http = require('http');
var httpProxy = require('http-proxy');
var express = require('express');
var app = express();

var url = "http://localhost:3001"; // create target server for testing

var proxy = httpProxy.createProxyServer();

// simple url
app.all("/radio/*", function(req, res) {

    req.headers['referer'] = 'http://new-referer-url';

    proxy.web(req, res, {
        target: url,
        headers: req.headers
    });

    console.log(req.headers); // the request is passed here but not in Chrome inspector


});

app.listen(3000);

1 个答案:

答案 0 :(得分:0)

欺骗referer(原文如此)非常简单:只需在您的请求中添加标题:

yourRequest.setHeader("Referer", "the value");

或者当您创建请求时:

var yourRequest = http.request({
    /* ...other options here, host, protocol, etc... */,
    headers: {
        Referer: "the value"
    }
});

请注意,referer只有三个r,而不是四个,如果它拼写正确的话。这只是其中之一。