forked from geopy/geopy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproxy_server.py
51 lines (36 loc) · 1.14 KB
/
proxy_server.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
try:
import SimpleHTTPServer
import SocketServer
except ImportError:
import socketserver as SockServer
import http.server as SimpleHTTPServer
import urllib
class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
self.copyfile(urllib.urlopen(self.path), self.wfile)
class ProxyServer():
'''Class used to invoke a simple test HTTP Proxy server'''
def __init__(self):
self.proxy_port = 1337
self.proxy_host = 'localhost'
self.proxyd = None
def run_proxy(self):
'''Starts Instance of Proxy in a TCPServer'''
#Setup Proxy in thread
self.proxyd = SocketServer.TCPServer(
(self.proxy_host, self.proxy_port),
Proxy
).serve_forever()
# Start Proxy Process
print(
"serving at port %s on PID %s " %
(self.proxy_port, self.proxyd.pid)
)
def get_proxy_url(self):
return "http://%s:%s" % (self.proxy_host, self.proxy_port)
if __name__ == '__main__':
from test import daemon
daemon.daemonize()
daemon.createPid()
proxy = ProxyServer()
proxy.run_proxy()