首页 > 解决方案 > 节点请求模块未返回正确的 statusCode

问题描述

基本上我要做的是根据响应状态代码检查页面名称或名称是否已经存在于 facebook 或 twitter 上,而不使用 api。

例如对于 facebook,“ https://www.facebook.com/iwannaseeifavailablenotoken ”,

我应该得到 facebook 的状态 404,因为名称还不存在,twitter 的响应是正确的。所以我想知道为什么 facebook 的 response.statusCode 不正确?

async.parallel({
    twitter: (callback) => {
        let twitter = {
            url    : `https://www.twitter.com/${req.query.name}`,
            method : 'GET'
        }

        request(twitter, (error, response, result) => {
            callback(error, response.statusCode)
        }); 
    },
    facebook: (callback) =>{
        let facebook = {
            url    : `https://www.facebook.com/${req.query.name}`,
            method : 'GET'
        }

        request(facebook, (error, response, result) => {
            callback(error, response.statusCode)
        }); 
    },
}, (err, results) => {
      if(err){
         return res.status(500).json({
             error: true,
             message: err
          })
      }

      res.status(200).json({
        success  : true,
        message  : "Successfully fetched the url.", 
        twitter  : results.twitter == 200 ? `Status: ${results.twitter}: Account exist` : `Status: ${results.twitter}: Does not exist`,
        facebook : results.facebook == 200 ? `Status: ${results.facebook}: Account exist` : `Status: ${results.facebook}: Does not exist`,
      });
  });

标签: node.jsfacebookexpressrequest

解决方案


推荐阅读