Идентификация аутентификации по запросу curl на прокси-сервере - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть многопоточный прокси-сервер, который должен иметь аутентификацию для запросов 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 127.0.0.1:20111 -U USE:PASS

Я ожидал, что print(self.requestline) получит имя пользователя: пароль используется, но единственный результат, который я получаю, это GET http://127.0.0.1:20111/ HTTP/1.1

...