現在の位置: ホーム> 最新記事一覧> init関数を使用してCurlでHTTP要求を初期化します

init関数を使用してCurlでHTTP要求を初期化します

gitbox 2025-05-19

PHPは、 Curlを介してHTTPリクエストを簡単に送信できるカールライブラリを提供します。 Curlは、HTTPリクエストで広く使用されている強力なツールであり、フォームデータの送信、クロールのWebページ、その他の操作です。これらの操作を簡素化するために、PHPはいくつかの機能を提供します。その中で最も重要なのはcurl_init()です。 Curlセッションの初期化に使用され、リクエストの送信を開始できます。

この記事では、 curl_init()を使用してcurlセッションを初期化し、 curl_setopt()curl_exec() 、およびその他の機能を組み合わせてHTTPリクエストを送信する方法を示します。

1。カールセッションを初期化します

Curlを使用してリクエストを送信する前に、まずCurlセッションを初期化する必要があります。 PHPは、 curl_init()関数を提供して、新しいCurlセッションを初期化します。これにより、リクエストオプションの構成と最終的にリクエストを実行できるCurlハンドルが返されます。

 <?php
// 初期化a cURL セッション
$ch = curl_init();
?>

この時点で、 curl_init()によって返される$ ch変数は、現在のCurlセッションを表すCurlハンドルです。次に、このハンドルを介して要求されたオプションの一部を構成できます。

2.カール要求オプションを設定します

curl_setopt()関数を使用して、Curlセッションにさまざまなオプションを設定できます。最も一般的に使用されるオプションは、リクエストURL、リクエストメソッド、リクエストヘッダー情報などを設定することです。

urlを設定します

要求されたターゲットURLを設定するには、 curlopt_urlオプションを使用できます。

 // リクエストされたセット URL
curl_setopt($ch, CURLOPT_URL, "http://gitbox.net/example");

返されたコンテンツを有効にします

デフォルトでは、 curl_exec()関数は、要求された結果をブラウザに直接出力します。リクエスト結果を直接出力する代わりに結果を取得したい場合は、 Curlopt_returnTransferオプションを介して制御できます。

 // 直接出力なしで返品コンテンツを設定します
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

HTTPリクエストメソッドの設定

Curlは、 getpostputなどのさまざまなHTTPメソッドをサポートしています。postメソッドを使用する場合は、 curlopt_post使用して設定できます。

 // リクエストメソッドをに設定します POST
curl_setopt($ch, CURLOPT_POST, true);

// 設定 POST データ
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
    'username' => 'testuser',
    'password' => 'testpassword'
]));

リクエストヘッダーを設定します

カスタムHTTPヘッダーを設定する必要がある場合は、 curlopt_httpheaderオプションを使用できます。

 // 設定自定义的 HTTP 頭
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/x-www-form-urlencoded',
    'Authorization: Bearer token_value'
]);

3.カール要求を実行して、応答を取得します

すべてのオプションが構成されたら、 curl_exec()関数を使用してリクエストを実行して応答を取得できます。この関数は、要求された結果を返します。エラーが発生しない場合、返された結果はターゲットURLの応答コンテンツです。

 // リクエストを実行し、応答結果を取得します
$response = curl_exec($ch);

// リクエストが成功したかどうかを確認してください
if ($response === false) {
    echo "cURL 間違い:" . curl_error($ch);
} else {
    echo "リクエストが成功しました,応答コンテンツ:" . $response;
}

4.カールセッションを閉じます

リクエストが完了した後、リソースを解放するためにCURLセッションを閉じている必要があります。クローズドカールセッションは、特に多数のリクエストを処理する場合には良い習慣です。これは、システムのパフォーマンスを改善するのに役立ちます。

 // 閉鎖 cURL セッション
curl_close($ch);

5。完全な例

以下は、PHPを介して初期化、オプションの設定、リクエストの送信、および応答結果を取得する方法の完全な例です。

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

// リクエストされたセット URL
curl_setopt($ch, CURLOPT_URL, "http://gitbox.net/example");

// 直接出力なしで返品コンテンツを設定します
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// リクエストメソッドをに設定します POST
curl_setopt($ch, CURLOPT_POST, true);

// 設定 POST データ
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
    'username' => 'testuser',
    'password' => 'testpassword'
]));

// 設定自定义的 HTTP 頭
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/x-www-form-urlencoded',
    'Authorization: Bearer token_value'
]);

// リクエストを実行し、応答結果を取得します
$response = curl_exec($ch);

// リクエストが成功したかどうかを確認してください
if ($response === false) {
    echo "cURL 間違い:" . curl_error($ch);
} else {
    echo "リクエストが成功しました,応答コンテンツ:" . $response;
}

// 閉鎖 cURL セッション
curl_close($ch);
?>