【问题标题】:nodejs request url and return json, body is emptynodejs请求url并返回json,body为空
【发布时间】:2017-11-24 00:08:33
【问题描述】:

我找到了一个有趣的解决方案 here 来获取 instagram 公开个人资料照片。

var name = "smena8m",
  items;
$.getJSON("https://query.yahooapis.com/v1/public/yql?callback=?", {
  q: "select * from json where url='https://www.instagram.com/" + name + "/?__a=1'",
  format: "json"
}, function(data) {
  console.log(data);
  if (data.query.results) {
    items = data.query.results.json.user.media.nodes;
    $.each(items, function(n, item) {
      $('body').append(
        $('<a/>', {
          href: 'https://www.instagram.com/p/'+item.code,
          target: '_blank'
        }).css({
          backgroundImage: 'url(' + item.thumbnail_src + ')'
        }));
    });
  }

});

我正在尝试在我的 nodejs 应用程序中做同样的事情:

var request = require('request');
var name = "smena8m";
var propertiesObject = { q: "select * from json where url='https://www.instagram.com/" + name + "/?__a=1'" };
var myurl = "https://query.yahooapis.com/v1/public/yql?callback=?";
var items;
request.get(myurl, { qs:propertiesObject}, function(err, response, body) {
  if(err) { console.log(err); return; }
  console.log("Get response: " + response.statusCode);

    if (body.data.query.results) {
    items = body.data.query.results.json.user.media.nodes;
    items.forEach(function(n, item) {

        var itemCodes = 'https://www.instagram.com/p/'+item.code;
        var thumbnails =  item.thumbnail_src;
        console.log('here: ', itemCodes, thumbnails);

    });
  }
});

但我的body 返回为空。有人可以帮我在 nodejs 中实现同样的目标吗?

更新:

响应码为200,正文为空。

【问题讨论】:

  • 删除 ?callback=? - 因为你不是想在 nodejs 中获取 JSONP

标签: javascript node.js request instagram


【解决方案1】:

将我的网址更改为:

 myurl='https://www.instagram.com/' +name '/?__a=1';

console.log(body) 那么你应该很高兴!

【讨论】:

  • so ...如果您不发送请求的“sql”,它将如何到达另一端?由魔法精灵?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-21
  • 1970-01-01
  • 1970-01-01
  • 2017-11-10
  • 2012-09-06
  • 2018-03-15
相关资源
最近更新 更多