Code Snippets

from concurrent.futures import ThreadPoolExecutor
import urllib.request

urls = [
    'https://api.github.com/zen',
    'https://example.com',
    'https://python.org',
]

def head(url):
    with urllib.request.urlopen(url, timeout=10) as r:
        return url, r.status

with ThreadPoolExecutor(max_workers=4) as ex:
    for url, status in ex.map(head, urls):
        print(url, status)