J'essaie d'utiliser axios avec un serveur proxy pour émettre un appel https:
const url = "https://walmart.com/ip/50676589"
var config = { proxy: { Host: proxy.ip, port: proxy.port } }
axios.get(url, config)
.then(result => {})
.catch(error => {console.log(error)})
Les serveurs proxy que j'utilise sont tous anonymes aux États-Unis et prennent en charge HTTP et HTTPS.
Je reçois cette erreur:
{Erreur: écrire EPROTO 140736580649920: erreur: 140770FC: SSL routines: SSL23_GET_SERVER_HELLO: inconnue protocole: ../ deps/openssl/openssl/ssl/s23_clnt.c: 794:
Afin de m'assurer que le problème concerne axios et PAS le proxy, j'ai essayé ceci:
curl -x 52.8.172.72:4444 -L ' https://www.walmart.com/ip/50676589 '
Cela fonctionne totalement bien.
Comment configurer axios pour fonctionner avec les proxies et les URL https?
Essaye ça. Cela fonctionne pour moi.
Premier
npm installer axios-https-proxy-fix
Ensuite
import axios from 'axios-https-proxy-fix';
const proxy = {
Host: 'some_ip',
port: some_port_number,
auth: {
username: 'some_login',
password: 'some_pass'
}
};
async someMethod() {
const result = await axios.get('some_https_link', {proxy});
}
La prise en charge du proxy Axios https est limitée si vous utilisez des proxies https. Essayez de passer le proxy via [httpsProxyAgent][1]
en utilisant http.
var axios = require('axios');
let httpsProxyAgent = require('https-proxy-agent');
var agent = new httpsProxyAgent('http://username:pass@myproxy:port');
var config = {
url: 'https://google.com',
httpsAgent: agent
}
axios.request(config).then((res) => console.log(res)).catch(err => console.log(err))
Alternativement, il existe un fork d'Axios qui intègre ceci: axios-https-proxy-fix mais je recommanderais la première méthode pour garantir les dernières modifications Axios.
Essayez de spécifier explicitement le port dans l'URL:
const url = "https://walmart.com:443/ip/50676589"
Si vous avez également besoin d'un tunnel HTTPS sur HTTP, vous trouverez une solution dans cet article .
J'espère que cela t'aides,
Jan
Cette erreur est due au fait qu'axios essaie de transmettre votre demande par proxy via https (il la prend à partir de votre URL). Ce ticket la suit: https://github.com/axios/axios/issues/925