Nano Hash - криптовалюты, майнинг, программирование

Python не может привязывать запросы к сетевому интерфейсу

Я не могу использовать прокси-сервер запроса для подключения к https с моим локальным ip 192.168.1.55 мой локальный ip

если я скрою строку https для прокси, он работает, но я знаю, что на самом деле он не использует прокси

import requests

ipAddress = '192.168.1.55:80'
proxies = {
  "http": "%s" % ipAddress,
  #"https": "%s" % ipAddress,
}

url = 'https://www.google.com'
res = requests.get(url, proxies=proxies)
print res

Результат: Ответ [200]

import requests

ipAddress = '192.168.1.55:80'
proxies = {
  "http": "%s" % ipAddress,
  "https": "%s" % ipAddress,
}

url = 'https://www.google.com'
res = requests.get(url, proxies=proxies)
print res

Результат:

request.exceptions.ProxyError: HTTPSConnectionPool(host='www.google.com', port=443): превышено максимальное количество повторных попыток с URL-адресом: / (вызвано ProxyError('Не удается подключиться к прокси-серверу.', error('Ошибка туннельного соединения: ошибка 400, неверный запрос',)))

Я также пробовал внешний VPN-сервер, который поддерживает протокол HTTPS, даже если строка прокси-сервера https не скрыта, она будет работать.

У меня есть несколько IP-адресов, и я хотел бы использовать указанный IP-адрес с запросом. Я запускаю его на Win 10 с Python 2.7, и я подозреваю, что это связано с проблемой SSL, но здесь еще не подтверждено опытом. (я думаю, что я не имел дело с SSL должным образом) Я пробовал много способов иметь дело с SSL, но пока безуспешно.


  • Какой прокси-сервер вы используете? 30.11.2018
  • Прокси-сервер - это тот же компьютер, что и несколько общедоступных IP-адресов, которые я могу использовать на своем ПК, все, что я пытаюсь, - это сбалансировать исходящий трафик с помощью различных общедоступных IP-адресов для отправки запроса. 01.12.2018
  • Я имею в виду, что порт 80 привязан к какому приложению? 01.12.2018
  • Когда я использую внешний VPN-сервер, ему не требуется порт. В моем случае я считаю, что 80 привязан к http в MS Window HTTP? Я видел это в MS IIS. Тем не менее, даже я меняю порт на 443 (я думаю, что это для HTTPS, он все равно не работает). Поэтому я подозреваю, что это проблема с SSL. Однако я не могу это доказать и решить на данный момент. 01.12.2018
  • значит, у вас нет прокси-сервера, но вы хотите привязать requests к использованию 192.168.1.55 вместо подключения по умолчанию? 01.12.2018
  • Есть ли у меня прокси сервер для https - не уверен. Но http может проходить без проблем, поэтому я не уверен, что мне нужно специально настраивать прокси-сервер для https, а не иначе. И да. Я хочу связать запрос на использование 192.168.1.55 вместо соединения по умолчанию. Может быть, прокси не подходит для этого? Я приветствую другой подход, если вы можете предложить 02.12.2018

Ответы:


1

вы можете попробовать это, чтобы привязать requests к выбранному адаптеру/IP, но сначала установите requests_toolbelt

pip install requests_toolbelt

тогда

import requests
from requests_toolbelt.adapters.source import SourceAddressAdapter

# default binding
response = requests.get('https://ip.tyk.nu/').text
print(response)

# bind to 192.168.1.55
session = requests.Session()
session.mount('http://', SourceAddressAdapter('192.168.1.55'))
session.mount('https://', SourceAddressAdapter('192.168.1.55'))
response = session.get('https://ip.tyk.nu/').text
print(response)
02.12.2018
  • пожалуйста, пожалуйста, пометьте ответ как правильный. 04.12.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..