4

古いバージョンの python-requests (0.14) から新しいバージョン (1.1、1.2 など) に切り替えようとすると問題が発生します。問題は、次のライブラリを使用して Twitter に画像を投稿するシステムがあることです: https://github.com/maraujop/requests-oauth

主な問題は、次のコード行にあります。

# This is taken from the documentation of the library mentioned above
session = requests.session(hooks={'pre_request': oauth_hook})
session.post(...)

Session コンストラクターが hooks パラメーターを受け入れなくなったため。post メソッドが hooks 引数を受け入れることがわかり、次のようにコードを変更しました。

session = requests.session()
session.post(..., hooks={'pre_request': oauth_hook})

これは以前よりも改善されていますが、pre_request は python-requests の新しいバージョンでは受け入れられなくなりました (このフックは requests 0.14 のドキュメントにありますが、新しいバージョンにはありません)。誰かがこれについて助けることができますか?

4

1 に答える 1

3

リクエスト オブジェクトを自分で作成し、それをフックに渡してから呼び出す必要があります.prepare()

import requests

request = requests.Request('POST', url, ...)
request = oauth_hook(request)
prepared = request.prepare()

次に送信します。

session = requests.session()
resp = session.send(prepared)
于 2013-04-02T13:33:27.507 に答える