Closed CyberRex0 closed 1 year ago
Misskey.pyはインスタンスを作成する(コンストラクタ)引数の中に、session
という引数を設けています。
これはPythonライブラリのrequestsのSessionクラスを利用したもので、Misskey.pyはこれを利用してHTTP通信を行っています。 Sessionクラスのインスタンスのヘッダーに、ユーザーエージェントを指定し、それをMisskey.pyのコンストラクタに渡せば、Misskey.pyのユーザーエージェントをカスタマイズすることができます。
requestsのSessionクラスについては、以下のドキュメントをご参照ください。 https://requests.readthedocs.io/en/latest/user/advanced/#session-objects
以下はサンプルです。
from misskey import Misskey
import requests
# requestsのSessionクラスのインスタンスを作成
s = requests.Session()
# ユーザーエージェントを設定
s.headers.update({'User-Agent': 'Misskey.py/4.1.0'})
# Misskey.pyのインスタンスを作成
mk = Misskey('https://misskey.io', session=s)
# API通信処理
# ここで、カスタマイズされたrequestsのセッションで通信されます
meta = mk.meta()
print(meta)
sessionオプション完全に忘れてました。ありがとうございます。
Misskey.pyが利用しているrequestsのデフォルトユーザーエージェント (
python-requests/XX.YY.ZZ
)だと、WAFで制限を厳しくしているインスタンスでアクセス拒否されることがある。 普通のブラウザのように見せるか、開発者側でユーザーエージェントを設定できるようになるのが望ましい。