Привязка Python к указанному c IP-адресу - PullRequest
0 голосов
/ 03 мая 2020

Мой сервер имеет два IP-адреса и один сетевой адаптер:

$ ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:22:15:aa:b4:3d brd ff:ff:ff:ff:ff:ff
    inet 176.xxx.xxx.xxx/24 brd 176.xxx.xxx.255 scope global dynamic eno1
       valid_lft 86260sec preferred_lft 86260sec
    inet 151.xxx.xxx.xxx/32 scope global eno1
       valid_lft forever preferred_lft forever
    inet 176.xxx.xxx.xxx/32 scope global eno1
       valid_lft forever preferred_lft forever

Мне нужно, чтобы мое приложение Python осуществляло связь, используя только 151.xxx.xxx.xxx. В настоящее время для загрузки файла используется библиотека urllib.request.

Могу ли я сделать это в Python? Или даже из ОС? Может быть, есть переменная окружения, которую я могу указать?

def download_file(url):
    file_name = path.basename(url)
    with urllib.request.urlopen(url) as response, \
         open(file_name, 'wb') as out_file:
        data = response.read() # a `bytes` object
        out_file.write(data)

    return file_name

Я использую Ubuntu 18.04

...