Принятый ответ не является неправильным, но я хотел пройти по альтернативе, которая удовлетворяла немного другой потребности, которую я нашел.
В моем проекте, в частности, есть массив прокси-серверов на выбор, не только один. Поэтому каждый раз, когда я делаю запрос, нет смысла повторно устанавливать объект request.defaults. Вместо этого вы можете просто передать его непосредственно в параметры запроса.
var reqOpts = {
url: reqUrl,
method: "GET",
headers: {"Cache-Control" : "no-cache"},
proxy: reqProxy.getProxy()};
reqProxy.getProxy()
возвращает строку в эквивалент [protocol]://[username]:[pass]@[address]:[port]
Затем выполните запрос
request(reqOpts, function(err, response, body){
//handle your business here
});
Надеюсь, это поможет кому-то, кто идет по этому вопросу с той же проблемой. Приветствия.