שלום,
אני מנסה לפתור את תרגיל 2 הבעיה כשאני מנסה לגשת לurl ע"י הfetch אני מקבלת שגיאה ‘UNABLE_TO_GET_ISSUER_CERT_LOCALLY’
העתקתי גם ממש את הפתרון שלך ככה שמסתבר שאין בעיה בקוד…
זאת השגיאה שאני מקבלת:
node:internal/deps/undici/undici:11457
Error.captureStackTrace(err, this);
^
TypeError: fetch failed
at Object.fetch (node:internal/deps/undici/undici:11457:11)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async main (D:\1full stack - front end\code example\node\lesson1\myApp\index.js:12:17) {
cause: Error: unable to get local issuer certificate
at TLSSocket.onConnectSecure (node:_tls_wrap:1540:34)
at TLSSocket.emit (node:events:513:28)
at TLSSocket._finishInit (node:_tls_wrap:959:8)
at ssl.onhandshakedone (node:_tls_wrap:743:12) {
code: ‘UNABLE_TO_GET_ISSUER_CERT_LOCALLY’
}
}
זה הקוד:
const express = require(‘express’)
const app = express()
const port = 3000
const personUrl = https://swapi.dev/api/people/1
;
async function main() {
const res = await fetch(personUrl);
const data = await res.json();
const movieDetails = await Promise.all(data.films.map(url => fetch(url).then(res => res.json())))
const titles = movieDetails.map(m => m.title);
console.log(titles);
}
main();
app.get(‘/’, (req, res) => {
res.send(titles)
});
app.listen(port, () => console.log(Example app listening on port ${port}!
))
נ.ב: יש לי חסימה על האינטרנט. בקוד שהשתמשתי עם api בjs\react באמת קודם cדקתי אם הקישור בכלל נפתח והסינון לא חוסם אותו.
גם פה בדקתי קודם את הקישור הוא נפתח לי כשאני מעתיקה אותו לכשעצמו בדפדפן אבל בקוד אני מקבלת את השגיאה הנ"ל… לא מאמינה שזה קשור לסינון אבל אולי את תחשוב שכן… (שוב תרגילי api רגילים לא בnode עובדים לי ברוך השם ללא בעיה…)
תודה,