公司内网绕过VPN+代理下载文件

来源:互联网 发布:米祖淘宝上有店铺吗 编辑:程序博客网 时间:2024/05/10 08:45

公司内部使用VPN, 需通过设置代理才能上Internet.

从安全出发,公司的代理服务器一般会禁止下载一些文件(如*.exe)和屏蔽一些网站。


但同时也会给工作带来一些不便。


作为一个程序圆,第一个想到的办法就是使用代理服务器。

步骤如下:

1.找到要下载的文件,获取其URL,如“http://www.baidu.com/img/bdlogo.gif”

2.在baidu中搜索可用的代理服务器,选一个可用的,如“http://1.179.128.3:8080”

3.写一个python程序,使用代理下载该url...(大笑尽显钓丝程序圆本色)


python脚本如下,版本2.7。


#!/usr/bin/python# -*- coding: utf-8 -*-import sys,urllib,urllib2use_proxy = Trueproxy='http://1.179.128.3:8080'#可以计算进度def urlcallback(a,b,c):print "down %d%%" %(100.0/(c/b + 1)*a)#下载def http_down(url,local):try:#use proxyif(use_proxy):proxy_support = urllib2.ProxyHandler({'http':proxy})opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler)urllib2.install_opener(opener)urllib.urlretrieve(url,local,urlcallback)print 'Down: %s' %(url)except Exception,e:print 'download error: ',eif __name__=='__main__':if(len(sys.argv)<3):print "Usage: http_down.py url localfile"print "    proxy is setting in code, and can be canceled"else:http_down(sys.argv[1],sys.argv[2])

核心只有四句:

#设置代理proxy_support = urllib2.ProxyHandler({'http':proxy})opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler)urllib2.install_opener(opener)#下载urllib.urlretrieve(url,local,urlcallback)

原创粉丝点击