APIとは?Curl使用法

APIとは

API通信フロー クライアント サーバー リクエスト レスポンス HTTPメソッド

Webアプリケーションとの関係

Webアプリケーションはしばしば、ウェブページを表示する「Webサーバー」と「データを取得するAPI」の両方を利用します。

Webサーバーと APIの共通点、違い

Web サーバー vs API Web サーバー ウェブページを提供 HTML、CSS、JavaScript 人間が読める内容 API データを提供 JSON、XML 機械が読める内容 両方とも HTTP/HTTPS プロトコルを使用

curl_setopt()

cURLセッションのオプションを設定するために使用されます。この関数は3つの引数を取ります:

cURLでよく使用される curl_setopt() の第二引数(オプション)には、以下のようなものがあります:

  1. CURLOPT_URL: リクエスト先のURLを指定します。 例: curl_setopt($ch, CURLOPT_URL, "https://api.example.com");
  2. CURLOPT_RETURNTRANSFER: cURLの実行結果を文字列として返すように設定します。 例: curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  3. CURLOPT_HTTPHEADER: カスタムHTTPヘッダーを設定します。 例: curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
  4. CURLOPT_POSTFIELDS: POSTリクエストで送信するデータを指定します。 例: curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
  5. CURLOPT_CUSTOMREQUEST: GETやPOST以外のHTTPメソッド(PUT, DELETE等)を指定します。 例: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
  6. CURLOPT_TIMEOUT: リクエストのタイムアウト時間を秒単位で設定します。 例: curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  7. CURLOPT_FOLLOWLOCATION: リダイレクトを自動的に追跡するかどうかを設定します。 例: curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  8. CURLOPT_SSL_VERIFYPEER: SSL証明書の検証を行うかどうかを設定します。 例: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 注: 本番環境では true にすべき
  9. CURLOPT_USERAGENT: User-Agentヘッダーを設定します。 例: curl_setopt($ch, CURLOPT_USERAGENT, "My Custom User Agent");
  10. CURLOPT_VERBOSE: 詳細なデバッグ情報を出力するかどうかを設定します。 例: curl_setopt($ch, CURLOPT_VERBOSE, true);