Node.js - ошибка: сокет зависает - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь получить данные из API json.placeholder с прокси-доменом. Я аутентифицирован этим прокси, используя заголовок аутентификации. Этот заголовок аутентификации должен отправляться каждый запрос. Но я получаю ошибку:

error: { Error: socket hang up
at createHangUpError (_http_client.js:331:15)
...
at process._tickCallback (internal/process/next_tick.js:180:9) code: 'ECONNRESET' }

Мой код выглядит следующим образом:

app.get('/users/1', (req, res) => {
    const options = {
        host: 'velodrome.usefixie.com',
        port: 80,
        path: 'http://jsonplaceholder.typicode.com' + req.path,
        headers: {
            'Content-Type': 'application/json',
             Host: 'jsonplaceholder.typicode.com',
            'Proxy-Authorization': `Basic ${new Buffer(auth).toString('base64')}`,
        }
    };

    const x = http.get(options, (request) => {
        request.on('data', (locations) => {
            buffer = new Buffer(locations);
        });
        request.pipe(res);
    }).on('error', (err) => console.log('error:', err));
    x.end();
});

1 Ответ

0 голосов
/ 28 июня 2018

Ваш options.host должен быть удаленным хостом, которому вы хотите позвонить, например, http://jsonplaceholder.typicode.com и ваш options.path должен быть строкой запроса (параметры URL), которую вы хотите использовать.

В данный момент вы звоните velodrome.usefixie.comhttp://jsonplaceholder.typicode.com{your req.path}:80.

Посмотрите на это:

Node.js документы, http.get

А это

Как сделать http-запрос

А также проверьте request и axios от npm, это библиотеки, созданные для облегчения http-запросов в Node.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...