Pythonのurllib3でBasic認証を通す

Basic認証をかけて制作しているWEBサイトをクロールする場面があった。
urllib3を使ってクローラーの準備はできているものとして、basic認証を通したい。

header情報を追加するだけだった。

通常は、

http = urllib3.PoolManager()
response = http.request('GET', url)

としていたところを、

下記のようにしてheaderに認証情報を追加する。

http = urllib3.PoolManager()
headers = urllib3.util.make_headers(basic_auth='user:pass')
response = http.request('GET', url, headers=headers)

これで通った。

Written by Ryo Konishi