クロスドメインリソース共有(CORS)は、Web開発において一般的な問題です。 Webページが異なるドメイン名の下でリソースを要求する場合、クロスドメイン処理が実行されない場合、ブラウザはリクエストをブロックします。この記事では、PHPコードを使用してBaidu Wenxin Yiyan APIインターフェイスの応答を処理し、フロントエンドクロスドメインアクセスを実現する方法を紹介します。
Baidu Wenxin Yiyan APIは、ランダムな文データを提供します。フロントエンドページは通常、XMLHTTPREQUESTまたはFetch APIを介してデータを取得するためにGETリクエストを送信します。相同政策の制限により、通常のデータを取得するには、サーバー側でCORSクロスドメイン処理が必要です。
<?php // Baidu Wenxinの言葉 API インターフェイスアドレス $url = 'https://v1.hitokoto.cn/'; // 使用 CURL 送信 GET 聞く $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置聞く头中的 Origin フィールド,解決に使用されます CORS クロスドメインの問題 curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Origin: https://your-domain.com', // 意思 your-domain.com 実際のドメイン名に置き換えます ]); $response = curl_exec($ch); curl_close($ch); // 応答ヘッダーを設定します Access-Control-Allow-Origin フィールド,クロスドメインアクセスを許可します header('Access-Control-Allow-Origin: https://your-domain.com'); // 出力 API 応答結果 echo $response; ?>
例コードでは、Baidu Wenxin Yiyan APIアドレスが最初に定義され、次にCurlを使用してGETリクエストが送信されます。リクエストヘッダーのフロントエンドページドメイン名にOriginフィールドを設定します。 API応答データを読んだ後、応答ヘッダーAccess Access-Control-Allow-Originを同じドメイン名に設定して、クロスドメインアクセスを可能にします。コードの「https://your-domain.com」を実際のドメイン名に置き換えてください。
上記のPHPコードを介して、Baidu Wenxin Yiyan APIインターフェイスのCORSクロスドメイン処理をサーバー側に実装できます。フロントエンドページは、このインターフェイスを呼び出してランダムな文データを取得して、実際の開発ニーズを満たすことができます。
この記事では、PHPの例を介してBaidu Wenxin Yiyan APIインターフェイスのクロスドメイン要求を処理する方法を示しています。実際の開発では、通常、フロントエンドページがサードパーティのインターフェイスデータに正常にアクセスできるようにするために、サーバー側でクロスドメインの問題を解決する必要があります。この記事がクロスドメインリクエストの実装に役立つことを願っています。
関連タグ:
API