node.js - 无法从 Github API 检索信息。JSON.parse() 在此代码中不起作用
问题描述
尝试借助此 API 检索任何 Github 配置文件的信息:
Github API - https://api.github.com/users/ {任何 Github 帐户的用户名}
const express = require("express");
const app = express();
const https = require("https");
const bodyParser = require("body-parser");
const request = require("request");
app.listen(3000 , function(){
console.log("Server started at port 3000");
});
app.use(express.static("public"));
app.use(bodyParser.urlencoded({extended:true}));
app.get("/" , function(req , res){
res.sendFile(__dirname +"/index.html" );
});
app.post("/" , function(req , res){
const user = req.body.username;
const url = "https://api.github.com/users/"+user ;
https.get(url , function(response){
response.on("data", function(data){
const temp = JSON.parse(data);
const bravo = temp.login;
res.write("<p>The login of this Github ID is " + bravo + "<p>" );
});
});
console.log("Post request received.");
});
解决方案
如果您调用的 uri 中有空格或其他无效字符,您的请求目标将不会以 json 格式返回。
调用“testme”作为您的 bravo 变量呈现 json,但“testme please”返回 html。
我认为,如果您在尝试将数据解析为 json 之前记录数据,您会发现您正在使用 html。
推荐阅读
- java - Micronaut:micronaut 启动后如何运行一个类的方法?
- javascript - 如何直接从 React(前端)点击 AWS Elastic Search 查询
- python - 连接错误和另一个错误
- python - Python - 熊猫 - 导入熊猫时出错
- python - 从二值化图像创建平方轮廓
- azure - 将 Azure 健康机器人与 WhatsApp 集成不会激活该方案
- javascript - 单击标题更改文本和图像
- hybris - 我应该启用哪个包来在 tomcat 日志或控制台中记录 Solr 查询?
- python - numba 编译逻辑比较中的性能损失
- c# - 使用 docker 将 .net 5 应用程序与 sql server 连接时出错