Node.js,如何从我必须在其中输入用户名和密码的某个 url 获取 JSON 元素?

Posted

技术标签:

【中文标题】Node.js,如何从我必须在其中输入用户名和密码的某个 url 获取 JSON 元素?【英文标题】:Node.js, How to get JSON elemet from some url which i have to enter username and password in it? 【发布时间】:2020-08-18 07:00:10 【问题描述】:

我使用这个功能:

var getJSON = function(url, callback) 
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, true);
    xhr.responseType = 'json';
    xhr.onload = function() 
        var status = xhr.status;
        if (status === 200) 
            callback(null, xhr.response);
         else 
            callback(status, xhr.response);
        
    ;
    xhr.send();
;

函数调用:

 getJSON('http://localhost:8080/job/'+jobName+'/lastBuild/api/json?tree=timestamp',
        function(err, data) 
            if (err !== null) 
               console.log('Something went wrong: ' + err);
             else 
                console.log('Your query count: ' + data.query.count);
            
    );

我收到 403 错误,提示需要凭据

【问题讨论】:

1. “红衣主教”?你的意思是凭证,对吧? 2. 那是服务器端的问题。我们不能仅使用此代码为您提供帮助。 是的,感谢您的更正,当我在浏览器中输入 URL 时,如果这有助于解决问题,我将获取 JSON 数据 【参考方案1】:

你可以使用 axios 库来做到这一点。

var axios = require("axios");

var url = "your-url";

async function getData(url) 
  try 
    var response = await axios.get(url);
    var data = response.data;
    console.log(data);
   catch (error) 
    console.log(error);
  
;

getData(url);

您需要使用以下命令安装 axios 库:

npm install axios --save

【讨论】:

我仍然收到 403 错误,我需要在某处输入站点凭据吗?

以上是关于Node.js,如何从我必须在其中输入用户名和密码的某个 url 获取 JSON 元素?的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的 React Web 应用程序发送电子邮件

如何在 Node.js 中正确实现“忘记/重置密码”功能? (使用一次性令牌)

在从我的服务器下载自动生成的文件之前,如何要求用户输入密码?

Passport js,使用 Handlebars 获取用户输入

Node.js 和 Passport 对象没有方法 validPassword

如何使用 Passport.js 在 Node.js 中重置/更改密码?