Я не могу использовать прокси 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 ответ
Это была ошибка с моим кодом. Я не ждал, пока контейнер полностью запустится, прежде чем использовать его.