@be_a_man

Как использовать https proxy в node.js?

const HttpsProxyAgent = require('https-proxy-agent')
const fetch = require('node-fetch')

const agent = new HttpsProxyAgent({
    protocol: 'https',
    host: '193.169.188.21',
    port: '5836'
})

fetch('https://jsonplaceholder.typicode.com/todos/1', { agent })
    .then(response => response.json())
    .then(json => console.log(json))


Получаю ошибку
UnhandledPromiseRejectionWarning: FetchError: request to https://jsonplaceholder.typicode.com/todos/1 failed, reason: write EPROTO 22644:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:332:


Если протокол установить http работает. Но мне нужно https proxy

Почему питон работает а нода нет?
import requests
import json

proxies = {
    'https': 'https://193.169.188.21':5836'
}

resp = requests.get('https://jsonplaceholder.typicode.com/todos/1', proxies=proxies)
print(resp.text)
  • Вопрос задан
  • 3741 просмотр
Пригласить эксперта
Ответы на вопрос 3
@EmelyanovKonstantin
GIS архитектура, аналитика, разработка
https://www.npmjs.com/package/express-http-proxy
Normally, your proxy request will be made on the same protocol as the host parameter. If you'd like to force the proxy request to be https, use this option.
app.use('/proxy', proxy('www.google.com', {
  https: true
}));
Ответ написан
Комментировать
@dev-sasha
Может стоит использовать пакет axios?
NPM: https://www.npmjs.com/package/axios
GitHub: https://github.com/axios/axios

Поддержка прокси есть.
Ответ написан
sasha-hohloma
@sasha-hohloma
Fullstack Developer
Тоже столкнулся с такой проблемой, решил проблему использование socks протокола. Но с этой ошибкой пока не смог разобраться
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы