diff --git a/reference/curl/examples.xml b/reference/curl/examples.xml index e3205bff31..b7323b1c05 100644 --- a/reference/curl/examples.xml +++ b/reference/curl/examples.xml @@ -1,20 +1,83 @@ - + &reftitle.examples;
基本的な curl の使用法 - + PHP を cURL サポート機能付きでコンパイルすると、 curl 関数を使用可能となります。cURL 関数の基本的な使用法は、 curl_initにより cURL セッションを初期化、 curl_setopt により転送時のオプションを設定、 続いてcurl_exec により転送を実行するというものになります。 - cURL 関数を使用して example.com ホームページをファイルに取得する例を示します。 + + + cURL 関数を使用して POST リクエストを送信する簡単な例を示します。 + + PHP の cURL モジュールを使用して POST リクエストを送信する + + 'bar', 'baz' => 48]; +$url = "http://www.example.com/handler.php"; + +$ch = curl_init($url); + +// レスポンスを標準出力に出力せず、戻り値として返すよう cURL に指示します +curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + +// POST データと、対応するメソッドおよびヘッダーを設定します +curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); + +// リクエストを送信し、レスポンスを取得します +$response = curl_exec($ch); + +if(curl_error($ch)) { + // エラーを処理するか、単に例外をスローします + throw new RuntimeException(curl_error($ch)); +} +]]> + + + + + cURL 関数を使用して、生の JSON を POST リクエストで送信する例も示します。 + + PHP の cURL モジュールを使用して JSON を POST リクエストで送信する + + 'bar', 'baz' => 48]; +$url = "http://www.example.com/api/endpoint"; + +$ch = curl_init($url); + +// レスポンスを標準出力に出力せず、戻り値として返すよう cURL に指示します +curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + +// POST データと、対応するメソッドを設定します +curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data)); + +// 必要なヘッダーを設定します +curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); + +// リクエストを送信し、レスポンスを取得します +$response = curl_exec($ch); + +if(curl_error($ch)) { + // エラーを処理するか、単に例外をスローします + throw new RuntimeException(curl_error($ch)); +} +]]> + + + + + さらに、cURL 関数を使用して example.com ホームページをファイルに取得する例を示します。 PHP の cURL モジュールを使用して example.com のホームページを取得する @@ -32,7 +95,6 @@ if(curl_error($ch)) { fwrite($fp, curl_error($ch)); } fclose($fp); -?> ]]> diff --git a/reference/curl/functions/curl-errno.xml b/reference/curl/functions/curl-errno.xml index 839af6c534..092d769bf4 100644 --- a/reference/curl/functions/curl-errno.xml +++ b/reference/curl/functions/curl-errno.xml @@ -1,6 +1,6 @@ - + @@ -34,6 +34,16 @@ エラー番号を返します。エラーが発生しない場合、 0 (ゼロ) を返します。 + + + CurlHandle を curl_multi_exec + で実行した場合、curl_multi_info_read + がそのハンドルのメッセージを返すまでは、この関数は + 0 を返します。 + 個々のハンドルのエラーコードは、curl_multi_info_read + が返す result キーから取得できます。 + + @@ -85,6 +95,7 @@ if(curl_errno($ch)) curl_error + curl_multi_info_read Curl エラーコード diff --git a/reference/curl/functions/curl-error.xml b/reference/curl/functions/curl-error.xml index 700474281a..b8f0e02f6d 100644 --- a/reference/curl/functions/curl-error.xml +++ b/reference/curl/functions/curl-error.xml @@ -1,6 +1,6 @@ - + @@ -34,6 +34,17 @@ エラーメッセージ、あるいはエラーが発生しなかった場合は '' (空文字) を返します。 + + + CurlHandle を curl_multi_exec + で実行した場合、curl_multi_info_read + がそのハンドルのメッセージを返すまでは、この関数は + '' (空文字) を返します。 + 個々のハンドルのエラー文字列を取得するには、curl_multi_info_read + が返す result キーの値を + curl_strerror に渡してください。 + + @@ -85,6 +96,8 @@ else curl_errno + curl_strerror + curl_multi_info_read Curl エラーコード