После развертывания сайта в Heroku не удается подключиться к внешнему API, но работает локально (Node.js) - PullRequest
0 голосов
/ 08 мая 2018

Мой сайт выполняет запрос GET к внешнему API для получения данных. Работает локально. Однако после развертывания моего сайта в Heroku я больше не могу подключиться к внешнему API для получения данных. Я получаю сообщение об ошибке 503 недоступно.

В настоящее время я использую npm-модуль 'GOT' для http-запроса и пробовал пару разных модулей, которые работают локально, но не через heroku. Я думаю, что это может быть проблема с заголовком, но я не могу точно определить, что может быть не так. Кто-нибудь может подсказать мне, в чем может быть проблема? Спасибо.

Серверная функция, которую я создал, чтобы сделать запрос GET

var fetchApiData = function(targetSeason, targetCategory, callback) {
  let options = {
    headers: {
      'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36',
      'Accept-Encoding': '*',
      'Accept-Language': ('en'),
      'origin': ('https://apidomain.nba.com')
     }
   };

  (async () => {
    try {
      const response = await got(('https://apidomain.nba.com/stats/leagueleaders/?LeagueID=00&PerMode=PerGame&StatCategory=' + targetCategory + '&Season=' + targetSeason + '&SeasonType=Regular%20Season&Scope=S', options);
      callback(null, JSON.parse(response.body));      
    } catch (error) {
      callback(error.response.body, null);
    }
  })();
};

Ошибка в браузере

POST https://myserver.herokuapp.com/player-data 503 (Service Unavailable)
Axios Error....... Error: Request failed with status code 503
at createError (createError.js?f777:16)
at settle (settle.js?199f:18)
at XMLHttpRequest.handleLoad (xhr.js?14ed:77)

Ошибка от Heroku Log

2018-05-09T22:14:35.153304+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=POST path="/player-data" host=myserver.herokuapp.com request_id=18a37de9-9f85-4c03-a038-bf0f90223e1e fwd="64.134.226.170" dyno=web.1 connect=1ms service=30001ms status=503 bytes=0 protocol=https
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...