也许Heroku不发送请求标头

时间:2018-05-14 08:47:38

标签: javascript node.js heroku header request

有以下脚本( one-request.js

#!/usr/bin/env node
var request = require('request');
const cheerio = require('cheerio');

var options = {
  url: 'https://www.accuweather.com/en/us/anchorage-ak/99501/daily-weather-forecast/346835?day=1', // Anchorage
  headers: {
    'User-Agent':'Web/2.0',
    'Connection':'keep-alive'
  }
};
function callback(error, response, body) {
  if (!error && response.statusCode == 200) {
    var $ = cheerio.load(body);
    var title = $('div#header-logo > a:first-child > span').text();
    console.log('title:',title); // title: Anchorage Daily Weather
  }
}
request(options, callback);

它在家用计算机上运行(节点one-request.js )并收到成功的响应。

但是,在Heroku( heroku运行one-request.js )中执行脚本时,没有答案。如果在请求中删除了标头,则在家用计算机上运行脚本时会获得相同的效果。因此,我认为问题在于Heroku中的头文件的形成(也测试了'User-Agent': 'Mozilla / 5.0 (X11; Ubuntu; Linux x86_64; rv: 59.0) Gecko / 20100101 Firefox / 59.0.版本的相同效果)。

如果请求的地址不需要标题(对于其他网站),则脚本的结果对于home和Heroku都同样成功。

如何在 Heroku 中提出请求?

0 个答案:

没有答案