1. ホーム
  2. python

[解決済み] Python, 基本認証付きHTTPS GET

2022-10-31 18:40:31

質問

私はpythonを使用して基本的な認証でHTTPS GETを実行しようとしています。私はpythonに非常に新しく、ガイドは物事を行うために異なるライブラリを使用するようです。(http.client, httplib and urllib). どなたか、その方法を教えていただけませんか?どのように使用する標準ライブラリを伝えることができますか?

どのように解決するのですか?

Python3では、以下のように動作します。 私が使っているのは、下位レベルの http.client を標準ライブラリから取得しています。 のセクション2もチェックしてみてください。 rfc2617 のセクション 2 も参照してください。 このコードは証明書が有効であるかどうかをチェックしませんが、https 接続をセットアップします。 詳しくは http.client docsを参照してください。

from http.client import HTTPSConnection
from base64 import b64encode
#This sets up the https connection
c = HTTPSConnection("www.google.com")
#we need to base 64 encode it 
#and then decode it to acsii as python 3 stores it as a byte string
userAndPass = b64encode(b"username:password").decode("ascii")
headers = { 'Authorization' : 'Basic %s' %  userAndPass }
#then connect
c.request('GET', '/', headers=headers)
#get the response back
res = c.getresponse()
# at this point you could check the status etc
# this gets the page text
data = res.read()