Вот мой код для test.js сценария:
require('geckodriver');
const config = require("../config/config.json");
var webDriver = require("selenium-webdriver");
var firefox = require("selenium-webdriver/firefox");
var proxy = require("selenium-webdriver/proxy");
var options = new firefox.Options();
options.addArguments("-headless");
var driverFirefox = new webDriver.Builder()
.withCapabilities(webDriver.Capabilities.firefox())
.setProxy(proxy.socks('username:password@proxy_host:port'))
.setFirefoxOptions(options)
.build();
call1() {
try {
driverFirefox
.wait(driverFirefox.get('http://IP_Address:PORT'))
.then(function() {
console.log("Success!!!!");
});
} catch (mainError) {
console.log("Inside try's catch block");
console.log(mainError);
}
}
call1();
Используя приведенный выше код при запуске скрипта test.js, я получаю запрошенный публичный IP-адрес вместо прокси-IP-адреса в запрошенном URL (http://IP_Address:PORT).
Ниже приведен код для запрашиваемого IP-адреса печати в http://IP_Address:PORT маршруте:
const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
console.log('IP: ', ip);
Может кто-нибудь предложить мне, как получить IP прокси в моем скрипте?