NodeJS «Путь запроса содержит неэкранированные символы» Не работает при использовании прокси - PullRequest
0 голосов
/ 09 февраля 2019

Версия NPM - 3.5.2
Версия узла - v8.10.0
Запрос-обещание - "запрос-обещание": "^ 4.2.2"

У меня проблема смой сервер Ubuntu 18.04 работает под управлением NodeJS и NPM при использовании прокси.Я получаю сообщение об ошибке Request path contains unescaped characters

Когда я не использую прокси, запрос работает нормально.Это определенно не проблема кодирования.

  • Я попытался использовать несколько прокси от разных провайдеров, которые не работают.
  • Я развернул новый сервер, чтобы проверить, не является ли это другой проблемой.
  • Я пробовал разные URL

    async makeRequest(opts = {}) {
    
    let id = Math.random().toString(36).substring(7);
    
    var msg = `[${id}] Request to ${opts.url}`
        msg += (opts.proxy !== undefined) ? ` | ${opts.proxy}` : ``;
    
    this.ts(msg)
    
    var resp = this.request(opts).then((res) => {
        var msg = `[${id}] Status: ${res.statusCode}`;
            msg += (res.headers.location !== undefined) ? ` | Location: ${res.headers.location}` : ``;
    
        this.ts(msg);
    
        res.id = id;
        return res;
    }).catch((err) => {
        // console.log(err);
        this.ts(`[${id}] ${err.name} - ${err.message}`)
        return false;
    })
    
    return resp
    }
    

Опции выглядят как { url: "https://google.com", proxy: "http://user:pass@proxyserver:port" }

...