从代理服务器中的curl请求识别身份验证

时间:2019-04-03 07:18:53

标签: python socketserver

我有一个多线程代理服务器,该服务器必须具有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

0 个答案:

没有答案