From 998a0ea8f27ab7d466206ab880fa934d50c32c81 Mon Sep 17 00:00:00 2001 From: Felix Pankratz Date: Tue, 24 Mar 2020 21:50:13 +0100 Subject: [PATCH] get proxy list and test entries, needs more error handling :( --- panxy.py | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/panxy.py b/panxy.py index f5aedaf..62b7c7a 100644 --- a/panxy.py +++ b/panxy.py @@ -1,17 +1,35 @@ #!/usr/bin/env python3 # panxy, a random proxy connector -from urllib import request +from urllib import request, error import sys target = "http://theresno.cloud/ip" +prx_api = "http://pubproxy.com/api/proxy?limit=10&http=true&format=txt" -prx = sys.argv[1] -print("Using proxy " + prx + " ...") -proxy_handler = request.ProxyHandler({'https': 'http://' + prx + '/', 'http': 'http://' + prx + '/' }) +def get_list(): + result = request.urlopen(prx_api) + prx_list = result.read().decode() + return prx_list.split('\n') -opener = request.build_opener(proxy_handler) -result = opener.open(target) -content = result.read().decode() +def test_proxy(prx): + print("Testing proxy " + prx + "... ", end='') + proxy_handler = request.ProxyHandler({'https': 'http://' + prx + '/', 'http': 'http://' + prx + '/' }) + opener = request.build_opener(proxy_handler) + try: + result = opener.open(target) + content = result.read().decode() + print('ok.') + except error.HTTPError: + print('fail.') + #except RemoteDisconnected: + # print('fail.') + except error.URLError: + print('down!') -print(content) +def main(): + proxy_list = get_list() + for entry in proxy_list: + test_proxy(entry) +if __name__ == '__main__': + main()