
- Python - 網路程式設計
- Python - 網路入門
- Python - 網路環境
- Python - 網際網路協議
- Python - IP 地址
- Python - DNS 查詢
- Python - 路由
- Python - HTTP 請求
- Python - HTTP 響應
- Python - HTTP 頭部
- Python - 自定義 HTTP 請求
- Python - 請求狀態碼
- Python - HTTP 認證
- Python - HTTP 資料下載
- Python - 連線重用
- Python - 網路介面
- Python - 套接字程式設計
- Python - HTTP 客戶端
- Python - HTTP 伺服器
- Python - 構建 URL
- Python - Web 表單提交
- Python - 資料庫和 SQL
- Python - Telnet
- Python - 郵件訊息
- Python - SMTP
- Python - POP3
- Python - IMAP
- Python - SSH
- Python - FTP
- Python - SFTP
- Python - Web 伺服器
- Python - 上傳資料
- Python - 代理伺服器
- Python - 目錄列表
- Python - 遠端過程呼叫
- Python - RPC JSON 伺服器
- Python - Google 地圖
- Python - RSS Feed
Python - HTTP 認證
認證是確定請求是否來自具有使用系統所需許可權的有效使用者的過程。在計算機網路領域,這是一個非常重要的要求,因為許多系統彼此互動,並且需要適當的機制來確保只有這些程式之間發生有效的互動。
Python 模組名稱 **requests** 具有內建功能,可以呼叫服務 Web 應用提供的各種 API 以及使用者憑據。這些憑據必須嵌入到呼叫程式中。如果 API 成功驗證了它,則會發生有效登入。
安裝 Requests
我們安裝名為 requests 的所需 Python 模組來執行認證程式。
pip install requests
認證到 Github
下面我們看到一個簡單的認證機制,只涉及使用者名稱和密碼。成功的響應表示有效登入。
import requests r = requests.get('https://api.github.com/user', auth=('user', 'pass')) print r
當我們執行上述程式時,我們得到以下輸出:
認證到 Twitter
我們還可以執行一個程式來使用 Twitter 的 api 並透過使用以下程式碼成功登入。我們使用 requests 模組中可用的 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 引數的正確值,您將獲得成功的響應。
廣告