NodeJS请求返回我的html代码而不是json

问题描述

我正在尝试从 get 请求中获取 json,它在 python 中工作,但在 NodeJs 中向我显示页面的 html 代码源 这是我的代码


app.get("/well",function(request,response)  {
  const req = require('request');

  const options = {
      url: 'https://swarmmanager.francecentral.cloudapp.azure.com:3000',method: 'GET',headers: {
          'Accept': 'application/json',},agentOptions: {
        ca: fs.readFileSync("public/IdaktoPKIRootCA.crt")
      }
  };

  req(options,function(err,res,body) {
      console.log(body);
  });
});

这是另一个版本但同样的问题:

app.get("/well",response)  {
  g_CnieOidcAddr = 'https://swarmmanager.francecentral.cloudapp.azure.com:3000';
  const options = {
    hostname: 'swarmmanager.francecentral.cloudapp.azure.com',port: 3000,headers: {
        'Accept': 'application/json',ca: fs.readFileSync("public/IdaktoPKIRootCA.crt")
};
  const req = https.request(options,(res) => {
    console.log('statusCode:',res.statusCode);
    console.log('headers:',res.headers);
  
    res.on('data',(d) => {
      process.stdout.write(d);
    });
  });
  
  req.on('error',(e) => {
    console.error(e);
  });
  req.end();
});

我尝试在 python 中完成它,它的工作发现返回一个 json:

headers = {'Accept': 'application/json'}
                r = requests.get(g_CnieOidcAddr + '/.well-kNown/openid-configuration',params={},headers = headers,verify='./IdaktoPKIRootCA.crt')
                print (r.text)

如果有人有想法,我是接受者 ^^ 感谢阅读。

解决方法

好的,我发现我在 url 末尾忘记了一些东西,所以如果你来到这个页面,2 个代码可以找到一个请求