Запрос данных API с использованием прокси-сервера в Express Router вызывает ошибку подтверждения - PullRequest
0 голосов
/ 08 октября 2018
router.get('/getBook',function (req,resp,next) {
const proxyUri = req.proxy.getProxy();
console.log(proxyUri);
if(proxyUri){
    console.log(`proxy using : ${proxyUri}`);
    request(
        {uri:`https://api.douban.com/v2/book/isbn/:${req.params.isbn}`,
            proxy: proxyUri.proxy,
            timeout:10000,
            resolveWithFullResponse:true
        }).then(function (res) {
                resp.send(res.body);
            })
          .catch(function(err){
        resp.send(err);});
}
else{
    resq.send("NO Proxy Available");
});

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

AssertionError [ERR_ASSERTION]: 273 == 0
в ClientRequest.onConnect
(/home/node/Proxy/node_modules/tunnel-agent/index.js:160:14)в Object.onceWrapper (events.js: 319: 30)на emitThree (events.js: 136: 13)на ClientRequest.emit (events.js: 217: 7)в Socket.socketOnData (_http_client.js: 474: 11)в emitOne (events.js: 116: 13)на Socket.emit (events.js: 211: 7)в addChunk (_stream_readable.js: 263: 12)at readableAddChunk (_stream_readable.js: 250: 11)в Socket.Readable.push (_stream_readable.js: 208: 10)в TCP.onread (net.js: 597: 20)

Ошибка вывода

Я попытался удалить опцию {proxy: proxyUri.proxy} и запустить код, этоснова работает

Понятия не имею, помогите, пожалуйста.

обновление 1: я нахожу это исключение только при попытке прочитать ответ.

...