Я не могу использовать прокси SOCKS5 с выборкой узла (причина FetchError: сокет закрыт)

У меня есть контейнер Docker, в котором запущен этот образ на моем компьютере (это прокси-сервер SOCKS), и я предоставил необходимые порты, необходимые для его работы. И когда я бегу curl -x socks5://localhost:40000 https://ip.meна моей машине запросы обрабатываются нормально, и все работает. Но когда я пытаюсь отправить запрос с узла с помощью прокси-агента, это не работает. Вот мой код:

      const fetch = require('node-fetch')
const { SocksProxyAgent } = require('socks-proxy-agent')

const req = await fetch(`https://google.com`, {
    agent: new SocksProxyAgent(`socks5://localhost:40000`)
})

console.log(req.ok)
console.log(req.status)

Вот моя ошибка:

      /home/______/______/node_modules/node-fetch/lib/index.js:1376
                        reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));
                               ^
FetchError: request to https://google.com/ failed, reason: Socket closed
    at ClientRequest.<anonymous> (/home/______/______/node_modules/node-fetch/lib/index.js:1376:11)
    at ClientRequest.emit (node:events:390:28)
    at onerror (/home/______/______/node_modules/socks-proxy-agent/node_modules/agent-base/dist/src/index.js:117:21)
    at callbackError (/home/______/______/node_modules/socks-proxy-agent/node_modules/agent-base/dist/src/index.js:136:17) {
  type: 'system',
  errno: undefined,
  code: undefined
}

Node.js v17.0.0

Я не уверен, почему это происходит. Кто-нибудь может попытаться помочь?

1 ответ

Это была ошибка с моим кодом. Я не ждал, пока контейнер полностью запустится, прежде чем использовать его.

Другие вопросы по тегам