Скачать файл с помощью скрипта Python за корпоративным прокси - PullRequest
0 голосов
/ 29 марта 2019

Я собираю сценарий, который будет загружать файл из Интернета .... Однако некоторые пользователи работают как корпоративный брандмауэр, так что это означает, что если вы @ home, то приведенный ниже код работает, но если вы находитесь в офисе, то он зависает, если вы не установите переменную прокси вручную, а затем запустите ....

Что я думаю, так это создать оператор if ... Оператор if проверит IP-адрес пользователя, и если у него есть IP-адрес в 8.x или 9.x или 7.x, используйте этот прокси. .. В противном случае проигнорируйте и продолжайте загрузку

Код, который я использую для этой загрузки, приведен ниже ... Я довольно новичок в этом, поэтому я не уверен, как сделать оператор if для IP, а затем использовать часть прокси, чтобы любая помощь была бы полезной

import urllib.request
import shutil
import subprocess
import os
from os import system

url = "https://downloads.com/App.exe"
output_file = "C:\\User\\Downloads\\App.exe"
with urllib.request.urlopen(url) as response, open(output_file, 'wb') as out_file:
    shutil.copyfileobj(response, out_file)

1 Ответ

0 голосов
/ 29 марта 2019

Вы можете прочитать локальный IP как прокомментированный @ nickthefreak , а затем установить прокси, используя запросы lib:

import socket
import requests

URL = 'https://downloads.com/App.exe'

if socket.gethostbyname(socket.gethostname()).startswith(('8', '9', '7')):
    r = requests.get(URL, stream=True, proxies={'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080'})
else:
    r = requests.get(URL, stream=True)

with open('C:\\User\\Downloads\\App.exe', 'wb') as f:
    for chunk in r:
        f.write(chunk)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...