Не удалось установить туннельный сокет при отправке запроса через прокси - PullRequest
0 голосов
/ 25 июня 2019

У меня есть цикл for, где я синхронно вызываю 10-15 HTTP-запросов, используя библиотеку запросов npm. URL-адреса одинаковы, за исключением одного параметра. Например:

http://example.com/sendorder?orderid=1 
http://example.com/sendorder?orderid=2

Я вызываю каждый запрос с разными адресами прокси из моего пула прокси. Из 15 запросов от 2 до 3 каждый раз не удается. Я получаю две разные ошибки. Иногда первый, иногда другой. Я также пытался вызывать каждый запрос с одним и тем же прокси-сервером, и получал ту же ошибку, поэтому ошибка не связана с нарушением некоторых адресов прокси.

Первый тип ошибки:

{ Error: tunneling socket could not be established, statusCode=503
at ClientRequest.onConnect (/Users/admin/Documents/node-binance-api/node_modules/tunnel-agent/index.js:166:19)
at Object.onceWrapper (events.js:319:30)
at emitThree (events.js:136:13)
at ClientRequest.emit (events.js:217:7)
at Socket.socketOnData (_http_client.js:474:11)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
at TCP.onread (net.js:597:20) code: 'ECONNRESET' }

Второй тип ошибки:

{ Error: tunneling socket could not be established, cause=connect ETIMEDOUT 35.209.77.242:3128
at ClientRequest.onError (/Users/deniz/Documents/node-binance-api/node_modules/tunnel-agent/index.js:177:17)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:116:13)
at ClientRequest.emit (events.js:211:7)
at Socket.socketErrorListener (_http_client.js:387:9)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9) code: 'ECONNRESET' }

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

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

...