@xiii06

Как использовать Python requests с дополнительными IP сервера?

Есть VPS сервер на Ubuntu 18.04. У провайдера купил и привязал дополнительные IP адреса.
Как мне создавать запросы на внешний ресурс, используя определенный IP?
Используется requests.post, язык Python3+

Пример, как должно работать:
requests.post('https://google.com', IP1)
requests.post('https://google.com', IP2)

Где IP1 и 2 - это дополнительные внешние IP адреса указанные в сетевых настройках Ubuntu
  • Вопрос задан
  • 797 просмотров
Пригласить эксперта
Ответы на вопрос 1
Отсюда

import requests


def session_for_src_addr(addr: str) -> requests.Session:
    """
    Create `Session` which will bind to the specified local address
    rather than auto-selecting it.
    """
    session = requests.Session()
    for prefix in ('http://', 'https://'):
        session.get_adapter(prefix).init_poolmanager(
            # those are default values from HTTPAdapter's constructor
            connections=requests.adapters.DEFAULT_POOLSIZE,
            maxsize=requests.adapters.DEFAULT_POOLSIZE,
            # This should be a tuple of (address, port). Port 0 means auto-selection.
            source_address=(addr, 0),
        )

    return session


# usage example:
s = session_for_src_addr('192.168.1.12')
s.get('https://httpbin.org/ip')
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы