Node.js 无法请求方形空间网站?

Node.js can't request a squarespace site?

我正在尝试请求该网站,但我一直收到 400 Bad Request 错误。这段代码几乎适用于我尝试过的任何其他不是用 squarespace 构建的网站,所以我猜这就是问题所在。

var request = require('request');
var cheerio = require('cheerio');
var url = 'http://www.pond-mag.com/';



request(url, function(error, resp, body){
    if(!error){
        var $ = cheerio.load(body);
        console.log(body);
    }
});

想通了,只需要手动设置 headers object。 这是修复它的代码,以防其他人遇到问题:

var options = {
url : 'http://www.pond-mag.com/',
  headers: {
   'User-Agent': 'request'
  }
};

然后,只需将选项 var 传递给请求而不是 url。

我将 Squarespace 用于许多不同的应用程序,并且认为值得一提的是 Squarespace 原生支持获取任何 Squarespace 页面的 JSON。如果您将 ?format=json 附加到 URL,您可以拉取请求并返回 JSON。