103

API クエリを Python に取得しようとしています。コマンドライン

curl --header "Authorization:access_token myToken" https://website.com/id

いくつかのjson出力を提供します。myToken は 16 進数の変数で、常に一定です。さまざまな ID をループして出力を分析できるように、Python からこの呼び出しを行いたいと思います。何か案は?認証が必要になる前に、urllib2 でそれを行いました。requests モジュールも調べましたが、その方法がわかりませんでした。

どうもありがとう。

4

6 に答える 6

153

requestsパッケージには HTTP リクエスト用の非常に優れた API があり、カスタム ヘッダーの追加は次のように機能します (ソース: 公式ドキュメント):

>>> import requests
>>> response = requests.get(
... 'https://website.com/id', headers={'Authorization': 'access_token myToken'})

外部依存関係を使用したくない場合、標準ライブラリの urllib2 を使用すると、次のようになります ( source: the missing manual ):

>>> import urllib2
>>> response = urllib2.urlopen(
... urllib2.Request('https://website.com/id', headers={'Authorization': 'access_token myToken'})
于 2012-12-11T19:27:54.310 に答える
4

uncurlパッケージ ( https://github.com/spulec/uncurl )を試しましたか? pip 経由でインストールできますpip install uncurl。あなたのcurlリクエストは以下を返します:

>>> uncurl "curl --header \"Authorization:access_token myToken\" https://website.com/id"

requests.get("https://website.com/id",
    headers={
        "Authorization": "access_token myToken"
    },
    cookies={},
)
于 2019-10-30T15:42:32.003 に答える