Хочу сделать простой прокси чекер на потоках:
from grab import Grab
import threading
import random
import time
def test_proxy(proxy):
    grab = Grab(url = 'https://api.ipify.org?format=json', connect_timeout = 10, proxy = proxy, proxy_type = 'socks5')
    try:
        grab.request()     
        print(grab.response.unicode_body())
    except Exception as e:
        print(e)        
        
proxyList = Grab().go('http://api.best-proxies.ru/feeds/proxylist.txt?key=01YvxflHzjs4eyNvDhtrdeoU&type=socks5&limit=0').unicode_body().split('\r\n')
for i in range(50):
    threading.Thread(target= test_proxy, args= [random.choice(proxyList)]).start()
    
while threading.active_count() > 1:
    time.sleep(1)
Все работает, если прокси - socks5. Если http(s) - тоже работает, но грузит проц на 100%, код тот же самый:
from grab import Grab
import threading
import random
import time
def test_proxy(proxy):
    grab = Grab(url = 'https://api.ipify.org?format=json', connect_timeout = 10, proxy = proxy, proxy_type = 'http')
    try:
        grab.request()     
        print(grab.response.unicode_body())
    except Exception as e:
        print(e)        
        
proxyList = Grab().go('http://api.best-proxies.ru/feeds/proxylist.txt?key=01YvxflHzjs4eyNvDhtrdeoU&type=https&limit=0').unicode_body().split('\r\n')
for i in range(50):
    threading.Thread(target= test_proxy, args= [random.choice(proxyList)]).start()
    
while threading.active_count() > 1:
    time.sleep(1)
Буду сильно благодарен за любой совет или намёк, как пофиксить это дело, уже некоторый день мучаюсь. Тестил на WinXP, Win7, Win 8.1, на разных Python версиях (3.4, 3.4.3, 3.5.1), пробовал установить разные PyCurl версии, проблема та же самая.
Питон изучаю недавно.