Python3でBasic認証ありのAPIを叩く

グーグル検索してるとPython2と3の情報が混在していて困ったので、備忘録。
僕が実行したのはPython3のスクリプトです。


import urllib
import requests

url = 'xxx' # 任意のurl(エンドポイント)
params = {
# パラメータの例
'UserName': 'test',,
'UserNameReading': 'テスト',
'LoginID': 'test@example.com',
'LoginPassword': 'password',
}
params = urllib.parse.urlencode(params)
# headerがapplication/x-www-form-urlencodedの場合
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
r = requests.post(url=url, data=params, headers=headers, auth=('xxx', 'xxx'))
# authがBasic認証のIDとPASSで、叩くAPIによって異なります 
print(r.status_code)
print(r.text)

Python3ではurllib2とかurllib3がなくなっていて、urllibのparseとかに機能が統合されてるんで、その辺りは要注意。
-ドキュメント
https://docs.python.jp/3/library/urllib.parse.html

また、何回もAPI叩くなら、登録済みになるのを防ぐために、メールアドレスとかPasswordを都度変更したほうが良いかも。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください