Windows lưu trữ hệ thống ủy quyền rộng của nó trong registry, nhìn vào các HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
. Bạn có thể sử dụng mô-đun Python _winreg để thay đổi nó (hoặc chỉ winreg nếu bạn sử dụng Python 3). Dưới đây là một số mẫu mã
import _winreg as winreg
INTERNET_SETTINGS = winreg.OpenKey(winreg.HKEY_CURRENT_USER,
r'Software\Microsoft\Windows\CurrentVersion\Internet Settings',
0, winreg.KEY_ALL_ACCESS)
def set_key(name, value):
_, reg_type = winreg.QueryValueEx(INTERNET_SETTINGS, name)
winreg.SetValueEx(INTERNET_SETTINGS, name, 0, reg_type, value)
set_key('ProxyEnable', 1)
set_key('ProxyOverride', u'*.local;<local>') # Bypass the proxy for localhost
set_key('ProxyServer', u'X.X.X.X:8080')
Để vô hiệu hoá nó, bạn chỉ có thể cần phải thiết lập chính ProxyEnable 0:
set_key('ProxyEnable', 0)
Sau khi kịch bản chạy các trình duyệt vẫn sẽ có proxy cũ được lưu trữ trong bộ nhớ, vì vậy bạn cần phải khởi động lại chúng để họ có thể đọc lại cài đặt proxy mới từ sổ đăng ký. Tôi thấy điều này rất khó chịu vì vậy tôi đã chuyển đổi this snippet sang Python.
import ctypes
INTERNET_OPTION_REFRESH = 37
INTERNET_OPTION_SETTINGS_CHANGED = 39
internet_set_option = ctypes.windll.Wininet.InternetSetOptionW
internet_set_option(0, self.INTERNET_OPTION_REFRESH, 0, 0)
internet_set_option(0, self.INTERNET_OPTION_SETTINGS_CHANGED, 0, 0)
Làm mới cài đặt Windows để tất cả những gì bạn phải làm là nhấn F5 trong trình duyệt để lấy cài đặt proxy mới.
Tôi đã viết một kịch bản nhỏ để chuyển đổi proxy của tôi bật hoặc tắt, nguồn ở trên Bitbucket: https://bitbucket.org/canassa/switch-proxy
này nên làm việc với bất kỳ trình duyệt sử dụng trên toàn hệ thống của Windows proxy (ví dụ: Chrome, I E). Một số trình duyệt như Firefox sử dụng cài đặt proxy nội bộ. Nếu bạn muốn thay đổi chúng, bạn sẽ tìm ra nơi chúng lưu trữ các thiết lập của chúng và viết mã để thay đổi nó.
Thảo luận về * đọc * cài đặt proxy tại đây mà bạn có thể quan tâm: http://old.nabble.com/using-windows-wide-proxy-settings-td20822378.html Tôi không chắc chắn 'd đi xung quanh tự động thay đổi cài đặt proxy của người dùng mặc dù (trừ khi nó có nghĩa là một số loại phím tắt cấu hình?) Ngoài ra, có http://stackoverflow.com/questions/1201771/how-to-set-proxy-with -python – shambulator
Vâng, tôi đã thấy chúng. Tôi đang tìm một số mã ví dụ hoặc một cái gì đó. Cảm ơn mặc dù. –
Phần mở rộng pythonwin có thể trợ giúp việc này không? –