ホームページ >バックエンド開発 >PHPチュートリアル >Baidu Wenxin Yiyan API の非同期リクエストを PHP で実装するにはどうすればよいですか?

Baidu Wenxin Yiyan API の非同期リクエストを PHP で実装するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-08-12 17:22:48989ブラウズ

Baidu Wenxin Yiyan API の非同期リクエストを PHP で実装するにはどうすればよいですか?

Baidu Wenxin Yiyan API の非同期リクエストを PHP で実装するにはどうすればよいですか?

Baidu Wenxin Yiyan API は、ランダムな記事の抜粋を提供するインターフェイスです。このインターフェイスを呼び出すと、美しい記事の選択された抜粋を取得できます。この記事では、PHP を使用して Baidu Wenxin Yiyan API への非同期リクエストを実装する方法を紹介します。

まず、Baidu Wenxin Yiyan API のアドレスとパラメータを取得する必要があります。 Baidu Wenxin Yiyan API のアドレスは http://api.vip68.com/ で、アドレスの後にリクエストしたいインターフェースを接続するだけです。インターフェイスは文章、画像、音声の3つの形式に分かれており、ニーズに応じて適切なインターフェイスを選択できます。

PHP では、cURL ライブラリを使用して API に対して非同期リクエストを行うことができます。 cURL は、さまざまなネットワーク要求を処理できる強力なネットワーク ツールです。まず、PHP で cURL 拡張機能を有効にする必要があります。

php.ini ファイル内の次の 2 行の前にあるセミコロンを見つけて削除します。

;extension=curl
;extension=openssl

次に、Apache を再起動します。サーバー 拡張機能を有効にします。

次に、次のコード例を使用して、Baidu Wenxin Yiyan API への非同期リクエストを実装できます。

<?php

function getWisdomQuote() {
    $url = 'http://api.vip68.com/sentence/random';
    
    $ch = curl_init($url);
    
    // 设置cURL选项
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, false);
    
    // 发送异步请求
    curl_multi_add_handle($multi_handle, $ch);
    
    $running = null;
    do {
        curl_multi_exec($multi_handle, $running);
    } while ($running);
    
    // 获取返回结果
    $response = curl_multi_getcontent($ch);
    
    curl_multi_remove_handle($multi_handle, $ch);
    curl_multi_close($multi_handle);
    
    return $response;
}

// 调用函数获取返回结果
$result = getWisdomQuote();

// 处理返回结果
$result = json_decode($result, true);
if ($result && isset($result['data']['content'])) {
    echo $result['data']['content'];
} else {
    echo '获取失败';
}

上の例では、getWisdomQuote関数を使用して、非同期リクエストを送信し、返された結果を取得します。まず、要求された URL を設定し、curl_init 関数を使用して cURL セッションを初期化する必要があります。

次に、いくつかの cURL オプションを設定します。たとえば、CURLOPT_RETURNTRANSFER は、リクエストの結果をブラウザに直接出力するのではなく、変数に保存するように cURL に指示します。CURLOPT_HEADER cURL に応答ヘッダーを返さないように指示するために使用されます。

次に、curl_multi_add_handle 関数を使用してリクエスト ハンドルを curl_multi オブジェクトに追加し、非同期リクエストを実装します。

最後に、curl_multi_exec 関数を使用して非同期リクエストを実行し、curl_multi_getcontent 関数を使用して戻り結果を取得します。次に、json_decode 関数を使用して返された結果を JSON 形式にデコードし、結果が存在するかどうかを判断して結果を処理します。

最後に、PHP で getWisdomQuote 関数を呼び出して、Baidu Wenxin Yiyan の抜粋を取得し、結果をページに表示します。

上記の手順により、PHP で Baidu Wenxin Yiyan API への非同期リクエストを実装し、選択した記事の抜粋を取得できます。この記事が、PHP 非同期リクエスト API の学習と使用に役立つことを願っています。

以上がBaidu Wenxin Yiyan API の非同期リクエストを PHP で実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。