2017-07-19 36 views
1

有一種方法可以繞過引薦者檢查網站嗎? 像nodeJS像代理或類似的東西?如何通過NodeJS繞過引用者檢查網站

有關信息,我必須發揮一些媒體服務器,但該服務器檢查引用一個特定的值,如果這個值是不是在這裏,它重定向我在404

對於我個人的學習,我想在nodeJS上找到解決方案,而無需在瀏覽器上安裝插件。我已經開發了一個擴展(WebExtension API)來重寫請求頭並添加引用值。

感謝

UPDATE 這裏是什麼,我現在在做一個示例代碼。 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); 
+0

你是什麼意思「不在Chrome檢查員」?您正在從Node進程到服務器進行查詢。 Chrome不參與。 –

+0

您是否有文檔表明'req.headers ['referer'] = value'有效?與創建您自己擁有**的請求相反,您可以通過該請求控制自己,並且可以使用我以任何方式顯示的方式指定標題? –

+0

你說得對。這是我的缺乏理解。 我的目標是: - 創建一個獲取URL(媒體網址)的代理。 - 此代理會對添加新引薦來源的標題請求進行修改。 就像客戶端(瀏覽器)不會直接與媒體的URL進行通信並暴露其默認引用者。 – Burolisan

回答

0

欺騙referer(原文如此)是著名的簡單:只需將頭添加到您的要求:

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

或者當你創建請求:

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

注意referer只有三個r s,而不是四個,因爲它拼寫正確。這只是其中的一個。

+0

感謝您的回覆。我添加了一個代碼給你解釋我在做什麼。 – Burolisan