Python-network-programming-python-http-authentication

提供:Dev Guides
移動先:案内検索

Python-HTTP認証

認証は、システムを使用するために必要な特権を持つ有効なユーザーから要求が来たかどうかを判断するプロセスです。 コンピュータネットワーキングの世界では、これは非常に重要な要件であり、多くのシステムが相互にやり取りし続けており、適切なメカニズムがこれらのプログラム間で有効なやり取りのみを確実に行う必要があるためです。

pythonモジュール名 requests には、ユーザーの資格情報と共に、提供するWebアプリによって提供されるさまざまなAPIを呼び出すための組み込み機能があります。 これらの資格情報は、呼び出し元プログラムに埋め込む必要があります。 APIが正常に検証すると、有効なログインが発生します。

リクエストのインストール

認証プログラムを実行するために、requestsという名前の必要なPythonモジュールをインストールします。

pip install requests

Githubへの認証

以下に、ユーザー名とパスワードのみを含む簡単な認証メカニズムを示します。 成功した応答は、有効なログインを示します。

import requests
r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
print r

上記のプログラムを実行すると、次の出力が得られます-

Twitterへの認証

また、プログラムを実行してtwitterのapiを使用し、次のコードを使用してログインを成功させることもできます。 要求モジュールで使用可能なOAuth1メソッドを使用して、Twitter APIに必要なパラメーターを処理します。 ご覧のように、requestsモジュールは、ユーザー名とパスワードのメカニズムだけでなく、キーとトークンを含むより複雑な認証メカニズムを処理できます。

import requests
from requests_oauthlib import OAuth1

url = 'https://api.twitter.com/1.1/account/verify_credentials.json'
auth = OAuth1('YOUR_APP_KEY', 'YOUR_APP_SECRET',
              'USER_OAUTH_TOKEN', 'USER_OAUTH_TOKEN_SECRET')

requests.get(url, auth=auth)

上記のプログラムを実行すると、次の出力が得られます-

{
  "errors": [
    {
      "code": 215,
      "message": "Bad Authentication data."
    }
  ]
}

しかし、OAuth1パラメーターに適切な値を使用すると、成功した応答が得られます。