最近接触了sublime2,按照网上的方法设置代理的时候一直不成功, 后来仔细研究下设置成功,现分享下经验
网上的方法基本都是通过配置文件来设置http_proxy, 然后执行install package 的语句来安装package control, 使用这种方法安装的时候总是会报出以下错误
1 |
Package Control: Error submitting usage information. Error checking for
server certificate revocation (errno 12057 ) during HTTP write phase of downloading https: / / sublime.wbond.net / submit?package_control_version = 2.0 . 0 &sublime_platform = windows&package = Package + Control&sublime_version = 2221 &version = 2.0 . 0 &operation = install. |
后来仔细看了下代码,原来是在执行安装语句的时候没有真正使用到设置的代理, 注意看下面的第6行,貌似设置了http proxy, 但是看下参数是空的,so, 根本没有设置proxy,所以改法已经很明显了
1
2
3
4
5
6 |
import
urllib2,os,hashlib h =
‘7183a2d3e96f11eeadd761d777e62404‘ + ‘e330c659d4bb41d3bdf022e94cab3cd0‘ pf =
‘Package Control.sublime-package‘ ipp =
sublime.installed_packages_path() os.makedirs( ipp ) if
not os.path.exists(ipp) else
None urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ) |
1 |
urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler({ "http" : "http://your.proxy:port" })) ) #正确做法 |
1 |
by =
urllib2.urlopen( ‘http://sublime.wbond.net/‘
+ pf.replace( ‘ ‘ , ‘%20‘ )).read() dh =
hashlib.sha256(by).hexdigest() open ( os.path.join( ipp, pf), ‘wb‘
).write(by) if
dh = =
h else
None print ( ‘Error validating download (got %s instead of %s), please try manual install‘
% (dh, h) if
dh ! =
h else
‘Please restart Sublime Text to finish installation‘ ) |
1 |
|
如何为sublime2 设置代理,布布扣,bubuko.com
原文:http://www.cnblogs.com/ohome/p/3627929.html