Извлечение внешних данных с сервера localhost node.js - PullRequest
0 голосов
/ 07 ноября 2019

Я новичок в node.js, и все, что я просто хочу сделать, это получить данные для публичного github api и записать их в журнал, когда я запускаю node. Вот очень простой пример:

var express = require('express');
var request = require('request');

var app = express();

var PORT = 5001;

request('https://api.github.com/users/someUser**', function (error, response, body) {
    console.log(error);
  if (!error && response.statusCode == 200) {
    console.log(body); 
  }
});

app.listen(PORT, function() {
    console.log('Server is running on PORT:',PORT);
});

и затем я запускаю node program.js для запуска сервера. Затем я всегда получаю сообщение об ошибке:

errno: 'ENOTFOUND',
code: 'ENOTFOUND',
syscall: 'getaddrinfo',

Есть ли что-то, что я делаю неправильно в том, что я делаю или настраиваю? Все, что я хочу сделать, это просто получить некоторые внешние данные с моего локального сервера. Любая помощь будет оценена!

1 Ответ

0 голосов
/ 07 ноября 2019

это потому, что требуется user-agent, вы можете проверить документацию по следующей ссылке , чтобы передать ее в заголовок вашего запроса, чтобы код был следующим:

var express = require('express');
var request = require('request');

var app = express();

var PORT = 5001;

var options = { method: 'GET',
  url: 'https://api.github.com/users/someuser',
  headers:  { 'User-Agent': 'Awesome-Octocat-App', 'Content-Type': 'application/json' } };

request(options, function (error, response, body) {
    console.log(error);
    console.log(response.statusCode );
  if (!error && response.statusCode == 200) 
    console.log(body);
});


app.listen(PORT, function() {
    console.log('Server is running on PORT:',PORT);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...