如何使用python

时间:2019-05-13 09:18:49

标签: python sockets proxy

我整理了一个python脚本,该脚本将根据用户的IP地址从网络上下载一个exe ...如果用户位于114、115、116 ip范围内,它将使用特定的代理下载...如果他们的用户不在114、115、116 ip上,则不使用代理....

这是代码

import socket
import requests
import urllib.request
import shutil
import subprocess
from time import sleep
import os
from os import system

URL = 'https://downloading/APP.exe'

if socket.gethostbyname(socket.gethostname()).startswith(('114', '115', '116')):
    r = requests.get(URL, stream=True, proxies={'http': 'http://proxy:5678', 'https': 'http://proxy:5678'})
else:
    r = requests.get(URL, stream=True)

我遇到的问题是socket.gethostbyname根据用户安装的内容选择了不同的IP。例如,如果用户具有某种类型的VM,则脚本将选择一个内部IP地址,并且使其不使用代理并且超时

我想知道的是,是否可以为用户提供以太网适配器以太网或无线局域网适配器,从而为用户提供真实的IP地址。

这不是重复的问题,因为其他答案指出人们可以使用以下内容获取IP,但是如果您坐在公司代理后面,则会超时

from requests import get

ip = get('https://api.ipify.org').text
print 'My public IP address is:', ip

0 个答案:

没有答案