wp_remote_request()


WordPressのwp_remote_request()関数は、HTTPリクエストを外部URLに送信するために使用されます。GETリクエストやPOSTリクエストを含む、カスタマイズ可能なHTTPメソッドをサポートしています。

構文

wp_remote_request( string $url, array $args = array() );

引数の説明:

  • $url (string) — リクエストを送信するURL。
  • $args (array) — オプションの配列。リクエストメソッド、ヘッダー、ボディ、タイムアウト設定などを指定できます。

例 1: GETリクエストを送信

外部APIにGETリクエストを送信します。

<?php
$response = wp_remote_request( 'https://example.com/api/data', array(
    'method' => 'GET',
) );
?>

例 2: POSTリクエストを送信

データを含むPOSTリクエストを送信します。

<?php
$response = wp_remote_request( 'https://example.com/api/data', array(
    'method' => 'POST',
    'body' => array(
        'key1' => 'value1',
        'key2' => 'value2',
    ),
) );
?>

例 3: ヘッダー付きのリクエストを送信

カスタムヘッダーを含めたリクエストを送信します。

<?php
$response = wp_remote_request( 'https://example.com/api/data', array(
    'method' => 'GET',
    'headers' => array(
        'Authorization' => 'Bearer token_here',
    ),
) );
?>

例 4: タイムアウトを設定したリクエスト

タイムアウトを指定してリクエストを送信します。

<?php
$response = wp_remote_request( 'https://example.com/api/data', array(
    'method' => 'GET',
    'timeout' => 15,
) );
?>

例 5: レスポンスの確認

レスポンスデータを取得し、ステータスコードを確認します。

<?php
$response = wp_remote_request( 'https://example.com/api/data', array(
    'method' => 'GET',
) );

if ( ! is_wp_error( $response ) ) {
    $body = wp_remote_retrieve_body( $response );
    $status = wp_remote_retrieve_response_code( $response );
}
?>

注意事項

  • リクエストの頻度が高すぎると、ターゲットサーバーに負担をかける可能性があります。
  • SSL証明書の検証に失敗する場合があります。この場合、'sslverify'をfalseに設定して一時的に回避できますが、安全性が低下するため注意が必要です。

関連機能: