Απορρίφθηκε το αίτημα κατά την προσπάθεια να φέρω μια ιστοσελίδα περιεχόμενο

ψήφοι
1

Γράφω ένα μικρό app Node.js-based για webscraping. Είμαι με τη χρήση axiosτης βιβλιοθήκης για το χειρισμό των αιτήσεων HTTP. Για κάποιο λόγο, δεν μπορώ να φέρω ένα δικτυακό τόπο:

const express = require('express');
const axios = require('axios');

const app = express();
const port = process.env.PORT || 3000;

app.get('/', async (req, res) => {
  const url = 'http://www.ztm.waw.pl/';
  const fetchRes = await axios.get(url);
  console.log(fetchRes);
});

app.listen(port, () => console.log(`Example app listening on port ${port}!`));

όταν τρέχω το διακομιστή και την πρόσβαση http: // localhost: 3000 παίρνω ένα σφάλμα:

UnhandledPromiseRejectionWarning: Error: write EPROTO 4554425792:error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol:../deps/openssl/openssl/ssl/statem/statem_lib.c:1922:

Ο κωδικός είναι περισσότερο ή λιγότερο εντάξει. Όταν μπορώ να αλλάξω το urlνα http://stackoverflow.com, για παράδειγμα, έχω την απάντηση.

Ποιο είναι το πρόβλημα εδώ; Υποθέτω ότι αυτό είναι κάτι με το αίτημα config. Προσπάθησα να παίξω μαζί του λίγο, αλλά χωρίς επιτυχία.

Δημοσιεύθηκε 09/10/2019 στις 19:01
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Αυτό οφείλεται στο γεγονός ότι από το Node.js 12, εντάθηκαν οι προεπιλεγμένες ρυθμίσεις TLS. Η ιστοσελίδα δεν χειρίζεται TLS v1.2, αλλά απαιτείται από προεπιλογή σε Node.js 12. Μπορείτε να το αλλάξετε αυτό, είτε μέσω ενός σημαία της γραμμής εντολών ( --tls-min-v1.0) κατά την εκκίνηση του κόμβου, εγώ θα δοκιμαστεί και λειτουργεί. node --tls-min-v1.0 app.js

Απαντήθηκε 09/10/2019 στις 19:30
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more