[PHP]curl_exec()関数でcURLリクエストを実行する方法

PHP

PHPで外部リソースやAPIと通信を行う際に、cURLを使うことがよくあります。その中心的な役割を果たすのが、curl_exec()関数です。この関数は、cURLセッションで設定されたリクエストを実際に実行し、サーバーからのレスポンスを受け取ります。

関数の構文

mixed curl_exec(resource $ch);
  • $ch: curl_init()で初期化されたcURLセッションのハンドルを指定します。

curl_exec()は、リクエストの実行結果を返します。成功した場合はサーバーからのレスポンス、失敗した場合はfalseを返します。

使い方の例

次に、curl_exec()を使った具体的なコード例を見てみましょう。

// cURLセッションの初期化
$ch = curl_init();

// オプションの設定
curl_setopt($ch, CURLOPT_URL, "https://example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// リクエストの実行
$response = curl_exec($ch);

// エラーチェック
if ($response === false) {
    echo "cURLエラー: " . curl_error($ch);
} else {
    echo "レスポンス: " . $response;
}

// セッションの終了
curl_close($ch);

説明

  1. curl_init() でcURLセッションを初期化します。
  2. curl_setopt() を使って、リクエストのオプションを設定します。CURLOPT_URLでリクエストするURLを指定し、CURLOPT_RETURNTRANSFERでレスポンスを文字列として返す設定をします。
  3. curl_exec() でリクエストを実行し、レスポンスを取得します。
  4. エラーチェックを行い、必要であればcurl_error()を使ってエラーメッセージを表示します。
  5. 最後に、curl_close() でセッションを終了します。

実行結果

成功した場合、サーバーからのレスポンスが画面に表示されます。たとえば、次のようなHTMLが返ってくるかもしれません。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Example Domain</title>
</head>
<body>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents.</p>
</body>
</html>

リクエストのオプション

curl_exec()を使う際には、curl_setopt()で様々なオプションを設定することができます。以下にいくつかの重要なオプションを紹介します。

  • CURLOPT_URL: リクエストするURLを指定します。
  • CURLOPT_RETURNTRANSFER: レスポンスを直接出力するのではなく、文字列として返す設定です。
  • CURLOPT_POST: POSTリクエストを送る場合に使用します。
  • CURLOPT_HTTPHEADER: ヘッダーをカスタマイズしたい場合に使用します。

cURLの利便性

curl_exec()は、cURLを使って簡単にHTTPリクエストを実行できる便利な関数です。APIとの通信や外部リソースの取得など、さまざまな場面で活躍します。また、オプションの設定次第でGET、POST、PUTなどのリクエストも簡単に行えます。

まとめ

curl_exec()は、cURLセッションの実行部分を担う重要な関数です。サーバーからレスポンスを受け取り、その内容を使って様々な処理を行うことが可能です。外部APIと連携する際や、リモートサーバーからデータを取得する際には欠かせない機能の一つです。


PHPで外部通信を行う際には、curl_exec()がとても便利です。リクエストを実行し、レスポンスをチェックして、エラー処理をしっかり行うことが大切です。

タイトルとURLをコピーしました