我有一个多线程代理服务器,该服务器必须具有GET和POST请求的身份验证。这是我到目前为止编写的请求处理程序的代码。
PORT = 20100
class Proxy(SimpleHTTPRequestHandler):
def do_GET(self):
try:
client_addr = self.client_address
print(">> PROXY_SERVER : ", client_addr)
print(">> PROXY_SERVER : GET : Handling Client ", str(self.client_address))
print(">> PROXY_SERVER : Thread Name:{}".format(threading.current_thread().name))
dest_ip = self.path.strip("http://").split(':')
print(dest_ip)
print(self.requestline)
if int(dest_ip[1]) not in range(20000,20201):
print(">> PROXY_SERVER : Invalid request")
threading.current_thread().join
exit()
if dest_ip in blacklist:
# if no auth:
print(">> PROXY_SERVER : Invalid request")
exit()
self.copyfile(urlopen(self.path), self.wfile)
print(">> PROXY_SERVER : SUCCESS")
except:
threading.current_thread().join
exit()
当我使用所示的curl请求时,
curl 127.0.0.1:20111 -U USE:PASS
我希望print(self.requestline)
能够使用用户名:password,但是我得到的唯一结果是
GET http://127.0.0.1:20111/ HTTP/1.1