ヘッダーとステータスコード

Python で学ぶ API 入門

Chris Ramakers

Engineering Manager

リクエストとレスポンスの構成要素

リクエストとレスポンスの例。リクエスト: GET /users/42 とヘッダー。レスポンス: 200 OK とユーザー情報のJSON本文。

Python で学ぶ API 入門

開始行(start-line)

リクエスト/レスポンスの3要素の例。開始行が強調表示

  • サーバーはレスポンスに数値のステータスコードを必ず含める
Python で学ぶ API 入門

ステータスコード

ステータスコードの分類

  • 1XX: 情報レスポンス
  • 2XX: 成功レスポンス
  • 3XX: リダイレクト
  • 4XX: クライアントエラー
  • 5XX: サーバーエラー

よく使うステータスコード

  • 200: OK
  • 404: Not Found
  • 500: Internal Server Error
1 すべてのレスポンスコードは、MDN の status-codes ページを参照: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
Python で学ぶ API 入門

ヘッダー

リクエスト/レスポンスの3要素の例。ヘッダーが強調表示

key1: 値 1
key2: 値 2
Python で学ぶ API 入門

例: ヘッダーによるコンテンツネゴシエーション

リクエスト/レスポンスの3要素の例。ヘッダーが強調表示

  • クライアントはリクエストに accept: application/json ヘッダーを追加
  • サーバーは content-type: application/json ヘッダーで応答
Python で学ぶ API 入門

requests でのヘッダー

# リクエストにヘッダーを追加
response = requests.get(
  'https://api.datacamp.com', 
  headers={'accept':'application/json'}
)
# レスポンスヘッダーを読む
response.headers['content-type']
'application/json'
response.headers.get('content-type')
'application/json'
Python で学ぶ API 入門

requests でのステータスコード

# ステータスコードにアクセス
response = requests.get('https://api.datacamp.com/users/12')

response.status_code == 200
True
# requests.codes でステータスコードを参照
response = requests.get('https://api.datacamp.com/this/is/the/wrong/path')

response.status_code == requests.codes.not_found
True
Python で学ぶ API 入門

練習しましょう!

Python で学ぶ API 入門

Preparing Video For Download...