Skip to content

Commit

Permalink
socks set http proxy does not seem to work
Browse files Browse the repository at this point in the history
  • Loading branch information
kenchou committed Sep 11, 2014
1 parent c8870f7 commit f220855
Showing 1 changed file with 23 additions and 10 deletions.
33 changes: 23 additions & 10 deletions gfwlist2pac.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,19 +89,32 @@ def printConfigInfo(config):


def fetchGFWList(config):
import socks, socket, urllib2

gfwProxyType = config['gfwProxyType']
if (gfwProxyType == socks.PROXY_TYPE_SOCKS4) or (gfwProxyType == socks.PROXY_TYPE_SOCKS5) or (
gfwProxyType == socks.PROXY_TYPE_HTTP):
socks.setdefaultproxy(gfwProxyType, config['gfwProxyHost'], config['gfwProxyPort'], True, config['gfwProxyUsr'],
config['gfwProxyPwd'])
import socks
import socket
import urllib2

proxy_type = config['gfwProxyType']
proxy_host = config['gfwProxyHost']
proxy_port = config['gfwProxyPort']
proxy_user = config['gfwProxyUsr']
proxy_pwd = config['gfwProxyPwd']

if proxy_type == socks.PROXY_TYPE_SOCKS4 or proxy_type == socks.PROXY_TYPE_SOCKS5:
socks.setdefaultproxy(proxy_type, proxy_host, proxy_port, True, proxy_user, proxy_pwd)
socket.socket = socks.socksocket
elif proxy_type == socks.PROXY_TYPE_HTTP:
http_proxy = '{}:{}'.format(proxy_host, proxy_port)
if proxy_user or proxy_pwd:
http_proxy = '{}:{}@{}'.format(proxy_user, proxy_pwd, http_proxy)

proxy_handler = urllib2.ProxyHandler({'http': http_proxy})
opener = urllib2.build_opener(proxy_handler)
urllib2.install_opener(opener)

if config['debug']:
httpHandler = urllib2.HTTPHandler(debuglevel=1)
httpsHandler = urllib2.HTTPSHandler(debuglevel=1)
opener = urllib2.build_opener(httpHandler, httpsHandler)
http_handler = urllib2.HTTPHandler(debuglevel=int(config['debug']))
https_handler = urllib2.HTTPSHandler(debuglevel=int(config['debug']))
opener = urllib2.build_opener(http_handler, https_handler)
urllib2.install_opener(opener)

response = urllib2.urlopen(config['gfwUrl'])
Expand Down

0 comments on commit f220855

Please sign in to comment.