中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Python編寫腳本使IE實現代理上網的教程
來源:易賢網 閱讀:1253 次 日期:2015-04-28 14:36:36
溫馨提示:易賢網小編為您整理了“Python編寫腳本使IE實現代理上網的教程”,方便廣大網友查閱!

Python編寫腳本使IE實現代理上網的教程

這篇文章主要介紹了用Python編寫腳本使IE實現代理上網的教程,“著名的”goagent代理也是基于同樣原理實現,需要的朋友可以參考下

廠里上個網需要設置代理服務器,切換各種環境『包括但不僅限于開發環境、QA、預上線、驗收、生產環境、壓力測試、Demo……』都需要給瀏覽器設置不同的代理服務器。

雖然俺有神器Firefox+Change Host+HostAdmin+Proxy Selector的組合來輕松切換Host,切換瀏覽器代理,但是…凡是就怕『但是』。

但是碰到一些IE才有的bug時候不得不換瀏覽器啊!!還要開虛擬機進去搞IE6、IE8、360、搜狗這些奇葩瀏覽器啊!!!

有同事建議搞個bat腳本來做這些,但沒人肯動手……而且bat能不能實現先不說,重點是咱不熟啊。

搞個C#寫個winform或者console控制臺還需要.NET framework不是,虛擬機裝個.NET framework4.0又要很多時間『而且不同的snapshot都要裝一遍…』

最最重要的,好久不寫文章了不是,咱不想在博客里寫C#相關的東西不是。所以,操刀Python寫幾行代碼和廠里兄弟們顯擺一下『人生苦短,我用Python』的好處。

具體實現步驟如下:

安裝pywin32、WMI支持。具體下載地址Google一下,因為我的是32位python2.7系列,下載到的文件名分別為(pywin32-218.win32-py2.7.exe、WMI-1.4.7.win32.exe)

開搞。

首先,我們查資料知道,IE瀏覽器的代理內容在注冊表中『HKEYCURRENTUSER\Software\Microsoft\Windows\CurrentVersion\Internet Settings』這里存著,所以我們理論上只要修改這里相關的鍵值就可以切換IE代理。

所以,第一個函數就是修改注冊表鍵值:

def changeIEProxy(keyName, keyValue):

pathInReg = 'Software\Microsoft\Windows\CurrentVersion\Internet Settings'

key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,pathInReg, 0, win32con.KEY_ALL_ACCESS)

win32api.RegSetValueEx(key, keyName, 0, win32con.REG_SZ, keyValue)

win32api.RegCloseKey(key)

因此段代碼中用到了pywin32的的東西,所以在文件最開頭需要做import win32api, win32con,引入相關的class

修改系統注冊表的函數其實就這么幾行…當然,因為我廠必須通過代理服務器上網,所以修改系統注冊表的鍵值類型我只用到了REG_SZ這一種,實際其他情況還會有REG_DWORD啊等等類型。

然后咱需要一個配置文件,來保存各種場景『QA啊開發環境啊』的不同的配置信息,這時候我使用的配置文件為ini格式,用Python自帶的ConfigParser就可以解析此種文件格式。

沒有采用以往我最熟悉的XML或者json純粹為了裝x,xml和json總覺著是web上用的東西,ini看起來比較像一個.exe比較常用的配置文件格式。

也因為以前沒用過ini格式的配置文件,這次權當又學會一種Python的玩法而已。

所以讀取ini配置文件的代碼為:

config = ConfigParser.ConfigParser()

config.read('config.ini')

if config.has_section(_section):

_ProxyServer = config.get(_section, 'ProxyServer')

_ProxyOverride = config.get(_section, 'ProxyOverride')

同樣,因為用到了ConfigParser,需要在文件最開頭也import ConfigParser一下。

細心的小伙伴會注意到這段代碼中有一個_section的變量實際是沒有定義的,而這個變量俺給它的含義是前邊所寫的『場景』,比如_section=='dev'表示開發環境,_section=='qa'表示QA環境,而咱們這次既然做的是一個類似exe的程序,所以_section需要在執行exe時候當作參數傳進來。

這時候咱們就要用到Python的sys模塊了,同樣import sys,然后在程序中通過:

_section = sys.argv[1] if len(sys.argv) > 1 else 'dev'

這樣的方式來獲取『場景』這個參數,這一段代碼就會變成:

_section = sys.argv[1] if len(sys.argv) > 1 else 'dev'

config = ConfigParser.ConfigParser()

config.read('config.ini')

if config.has_section(_section):

_ProxyServer = config.get(_section, 'ProxyServer')

_ProxyOverride = config.get(_section, 'ProxyOverride')

既然已經讀取到配置文件中的ProxyServer和ProxyOverride這倆東東了,寫入到注冊表理論上就能完成咱們的修改IE代理配置的大業了:

_section = sys.argv[1] if len(sys.argv) > 1 else 'dev'

config = ConfigParser.ConfigParser()

config.read('config.ini')

if config.has_section(_section):

_ProxyServer = config.get(_section, 'ProxyServer')

_ProxyOverride = config.get(_section, 'ProxyOverride')

changeIEProxy('ProxyServer', _ProxyServer)

changeIEProxy('ProxyOverride', _ProxyOverride)

前一句為啥是『理論上』呢,因為注冊表內容雖然已經修改了,但實際上IE瀏覽器并沒有生效,讓IE瀏覽器生效需要關閉重新打開。

這時候就用到前邊安裝的一個叫做WMI的東東,import wmi ctypes,然后:

def kill_ie():

c = wmi.WMI()

kernel32 = ctypes.windll.kernel32

for process in c.Win32_Process():

if process.Name=='iexplore.exe':

kernel32.TerminateProcess(kernel32.OpenProcess(1, 0, process.ProcessId), 0)

當然,這段代碼是有一點點問題的,只關閉了IE沒有重新打開……是因為俺偷懶了,俺可以接受手動打開IE…

綜上所述:

完整的代碼為:

#coding=utf-8

import win32api, win32con, sys, ConfigParser, os, wmi, ctypes

def kill_ie():

c = wmi.WMI()

kernel32 = ctypes.windll.kernel32

for process in c.Win32_Process():

if process.Name=='iexplore.exe':

kernel32.TerminateProcess(kernel32.OpenProcess(1, 0, process.ProcessId), 0)

def changeIEProxy(keyName, keyValue):

pathInReg = 'Software\Microsoft\Windows\CurrentVersion\Internet Settings'

key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,pathInReg, 0, win32con.KEY_ALL_ACCESS)

win32api.RegSetValueEx(key, keyName, 0, win32con.REG_SZ, keyValue)

win32api.RegCloseKey(key)

def check_config():

if not os.path.isfile('config.ini'):

cfg = ConfigParser.ConfigParser()

#開發環境

cfg.add_section('dev')

cfg.set('dev', 'ProxyServer', '192.168.0.6:3128')

cfg.set('dev', 'ProxyOverride', 'localhost;127.0.0.1')

#預上線

cfg.add_section('prepare')

cfg.set('prepare', 'ProxyServer', '192.168.0.6:3128')

cfg.set('prepare', 'ProxyOverride', 'localhost;127.0.0.1;')

#線上

cfg.add_section('online')

cfg.set('online', 'ProxyServer', '192.168.0.6:3128')

cfg.set('online', 'ProxyOverride', 'localhost;127.0.0.1')

#QA

cfg.add_section('qa')

cfg.set('qa', 'ProxyServer', '192.168.2.16:3128')

cfg.set('qa', 'ProxyOverride', 'localhost;127.0.0.1')

cfg.write(open('config.ini', 'a'))

return False

return True

if __name__ == "__main__":

_section = sys.argv[1] if len(sys.argv) > 1 else 'dev'

if check_config():

kill_ie()

config = ConfigParser.ConfigParser()

config.read('config.ini')

if config.has_section(_section):

_ProxyServer = config.get(_section, 'ProxyServer')

_ProxyOverride = config.get(_section, 'ProxyOverride')

changeIEProxy('ProxyServer', _ProxyServer)

changeIEProxy('ProxyOverride', _ProxyOverride)

print 'done, open ie'

else:

print 'config.ini is created, modify config.ini and try again'

更多信息請查看IT技術專欄

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
激情成人av在线| 欧美第十八页| 欧美精品aa| 在线视频一区观看| 国产欧美精品日韩区二区麻豆天美 | 亚洲国产精品视频| 欧美日韩在线精品| 中日韩美女免费视频网站在线观看| 欧美激情一区三区| 欧美一区2区三区4区公司二百 | 欧美高潮视频| 亚洲欧美精品伊人久久| 亚洲成色最大综合在线| 欧美婷婷在线| 久久欧美中文字幕| 亚洲色图在线视频| 亚洲区欧美区| 18成人免费观看视频| 国产精品二区在线| 欧美电影免费观看大全| 久久九九免费视频| 午夜精品久久久久久久久| 亚洲国产日韩欧美一区二区三区| 国产精品素人视频| 国产精品美女久久久| 欧美另类人妖| 欧美视频一区二区三区在线观看 | 亚洲大胆美女视频| 影音先锋国产精品| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产欧美日韩综合一区在线播放 | 久久精品人人做人人综合| 先锋影音久久久| 久久国产88| 奶水喷射视频一区| 欧美日一区二区三区在线观看国产免 | 亚洲欧美日韩精品在线| 亚洲一区区二区| 久久综合999| 国产精品大片| 在线成人h网| av72成人在线| 久久久精品五月天| 欧美日韩日本国产亚洲在线| 国产精品va在线播放| 国产一区二区三区黄视频| 亚洲激情小视频| 欧美一区二区三区喷汁尤物| 欧美搞黄网站| 日韩午夜在线播放| 国产精品国产三级国产普通话三级 | 欧美日韩在线播放三区| 欧美剧在线观看| 国产主播一区| 国产精品久久久久久久久免费| 亚洲视频网在线直播| 99在线精品观看| 欧美三级在线视频| 国产视频一区免费看| 一色屋精品视频免费看| av成人手机在线| 久久综合给合久久狠狠色 | 久久久久久久久蜜桃| 欧美日韩成人一区| 在线看片第一页欧美| 亚洲欧美一区二区视频| 欧美三级电影一区| 在线亚洲观看| 国产精品亚洲综合| 久久精品久久综合| 极品日韩av| 亚洲中字在线| 麻豆成人综合网| 亚洲国产成人久久综合一区| 久久久999国产| 亚洲国产精品t66y| 欧美天堂在线观看| 欧美伊人久久| 亚洲精品免费一二三区| 国产精品sss| 欧美jjzz| 日韩视频亚洲视频| 欧美视频在线视频| 亚洲在线视频| 亚洲国产精品一区二区第一页| 欧美激情中文不卡| 性欧美大战久久久久久久免费观看| 国自产拍偷拍福利精品免费一| 麻豆精品网站| 亚洲一区视频| 亚洲黑丝一区二区| 国产亚洲欧美一级| 国产精品久久午夜| 欧美人成免费网站| 久久综合给合久久狠狠色| 亚洲综合第一页| 99综合在线| 亚洲伦理在线| 亚洲国产小视频| 在线激情影院一区| 黄色欧美成人| 国产日韩在线看| 国产精品一区二区欧美| 欧美系列亚洲系列| 国产精品mv在线观看| 欧美激情无毛| 欧美精品在线一区| 欧美欧美天天天天操| 欧美国产日本韩| 欧美日韩aaaaa| 欧美女人交a| 国产精品亚洲激情| 国产一区二区三区久久久| 国产日韩欧美精品| 在线观看欧美亚洲| 中日韩在线视频| 久久国产精品黑丝| 欧美18av| 欧美视频一区二| 国产日韩欧美麻豆| 亚洲欧洲精品一区二区三区| 亚洲免费不卡| 欧美一区二区高清在线观看| 亚洲一区日韩在线| 久久久久在线观看| 国产精品久久久久aaaa樱花| 国产日韩欧美精品在线| 亚洲欧洲在线一区| 久久精品国产亚洲一区二区| 毛片一区二区三区| 国产伦精品一区二区三区| 亚洲精品视频在线观看免费| 欧美一区二区三区在线观看视频| 久久久久久久一区二区三区| 国产精品国产成人国产三级| 在线免费观看一区二区三区| 欧美怡红院视频一区二区三区| 欧美人交a欧美精品| 亚洲高清免费视频| 久久综合一区二区| 狠狠干狠狠久久| 久久久蜜臀国产一区二区| 国产精品手机视频| 亚洲欧美精品一区| 国产噜噜噜噜噜久久久久久久久| 亚洲国产日韩欧美| 欧美激情第4页| 在线亚洲免费| 久久久国产精品一区二区中文 | 国产午夜精品全部视频播放| 亚洲精品在线视频| 欧美日韩精品一区二区在线播放| 日韩视频在线永久播放| 国产精品国产三级国产| 亚洲欧美在线看| 在线成人免费视频| 欧美日韩xxxxx| 久久超碰97人人做人人爱| 亚洲黄色免费| 国产精品欧美日韩一区二区| 久久久久久网址| 一区二区免费在线播放| 国产日韩欧美电影在线观看| 久久久夜色精品亚洲| 99视频精品| 尤物精品国产第一福利三区| 国产精品二区在线观看| 免费日本视频一区| 久久精品国产99| 亚洲欧美一区二区视频| 99re热精品| 亚洲国产午夜| 亚洲国产99精品国自产| 国产一区二区三区在线观看精品| 欧美日韩高清在线一区| 免费成人网www| 久久一本综合频道| 久久九九全国免费精品观看| 午夜性色一区二区三区免费视频| 亚洲精品综合久久中文字幕| 亚洲第一福利视频| 伊人久久综合97精品| 亚洲国产精品久久久久久女王| 免费成人激情视频| 国产精品成人一区二区网站软件 | 欧美在线视频免费播放| 午夜精品久久久久久久久久久久久| 久久久久99| 亚洲小说春色综合另类电影| 欧美日韩国产欧美日美国产精品| 在线成人亚洲| 欧美成人午夜剧场免费观看| 国产无一区二区| 亚洲免费在线观看| 欧美激情视频一区二区三区在线播放 | 欧美a级一区| 韩国三级在线一区| 国产午夜久久久久| 亚洲国产合集| 亚洲一区3d动漫同人无遮挡|