Я новичок в бэкэнд-программировании, и недавно у меня возникла проблема с тем, что я не могу получить какие-либо данные из Open Map Weather API ... Я пытаюсь отправить свой запрос с https / express в node.js ... Мой ключ API и все параметры верны, потому что в Postman все прошло хорошо ... Я был бы очень признателен, если бы кто-нибудь мог мне помочь с этим ... -Вот мой код, кстати-
const exp = require("express");
const hhh = require("https");
const app = exp();
app.get("/", (req, res) => {
const url = "https://api.openweathermap.org/data/2.5/weather?q=London&appid=249e0887318ca2b591a7911fd54fe5fe";
hhh.get(url, (response) => {
console.info(response);
})
res.send("<h1>On Air 3000</h1>")
})
app.listen(3000, () => {
console.info("Listening on 3000");
})





Из официального документа [здесь]: https://nodejs.org/api/http.html#http_http_get_options_callback.
The callback is invoked with a single argument that is an instance of http.IncomingMessage.
Итак, response - это объект класса http.IncomingMessage, который позволяет вам получать ответ от API, а не результат, который вы видите в браузере или почтальоне. Вы можете увидеть несколько примеров кода из того же документа выше.
В вашем случае вы можете проверить приведенный ниже код, я тестировал, и он сработал :)
const exp = require("express");
const hhh = require("https");
const app = exp();
app.get("/", (req, res) => {
const url = "https://api.openweathermap.org/data/2.5/weather?q=London&appid=249e0887318ca2b591a7911fd54fe5fe";
hhh.get(url, (response) => {
var result = '';
//data come by chunks, we append new chunk to result
response.on('data', function (chunk) {
result += chunk;
});
//when we receive all the data, print to screen
response.on('end', function () {
console.info(result);
});
})
res.send("<h1>On Air 3000</h1>")
})
app.listen(3000, () => {
console.info("Listening on 3000");
})