Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Code implementiert die domänenübergreifende CORS-Verarbeitung der Antwortergebnisse der Baidu Wenxinyiyan-API-Schnittstelle

PHP-Code implementiert die domänenübergreifende CORS-Verarbeitung der Antwortergebnisse der Baidu Wenxinyiyan-API-Schnittstelle

王林
王林Original
2023-08-12 12:09:171673Durchsuche

PHP-Code implementiert die domänenübergreifende CORS-Verarbeitung der Antwortergebnisse der Baidu Wenxinyiyan-API-Schnittstelle

PHP-Code implementiert die domänenübergreifende CORS-Verarbeitung von Antwortergebnissen der Baidu Wenxinyiyan-API-Schnittstelle

In der Webentwicklung ist die ursprungsübergreifende Ressourcenfreigabe (Cross-Origin Resource Sharing) ein häufiges Problem. Wenn wir Ressourcen unter einem Domänennamen von einer Webseite unter einem anderen Domänennamen anfordern und keine domänenübergreifende Verarbeitung durchgeführt wird, blockiert der Browser die Anforderung standardmäßig. In der tatsächlichen Entwicklung müssen wir häufig Schnittstellen von Drittanbietern auf der Front-End-Seite aufrufen, um Daten abzurufen. In diesem Artikel wird erläutert, wie Sie PHP-Code verwenden, um die domänenübergreifende CORS-Verarbeitung der Antwortergebnisse der Baidu Wenxinyiyan-API-Schnittstelle zu implementieren.

Die Baidu Wen Xin Yi Yan API-Schnittstelle ist eine Schnittstelle, die zufällige Sätze bereitstellt. Wir können einen zufälligen Wen Xin Yi Yan-Satz erhalten, indem wir eine GET-Anfrage an die Schnittstelle senden. Zuerst müssen wir XMLHttpRequest oder die Fetch-API auf der Front-End-Seite verwenden, um eine GET-Anfrage an die API-Schnittstelle von Baidu Wenxin Yiyan zu senden. Aufgrund der Same-Origin-Richtlinie des Browsers müssen wir auf der Serverseite eine domänenübergreifende CORS-Verarbeitung durchführen.

Das Folgende ist ein einfaches PHP-Codebeispiel, das zeigt, wie die domänenübergreifende CORS-Verarbeitung der Antwortergebnisse der Baidu Wenxin Yiyan-API-Schnittstelle implementiert wird:

<?php
// 百度文心一言 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');
// 其他 CORS 相关响应头可以根据需要进行设置

// 输出 API 响应结果
echo $response;
?>

Im obigen Code definieren wir zunächst die Adresse der Baidu Wenxin Yiyan-API der Schnittstelle und verwenden Sie dann CURL, um eine GET-Anfrage an die Schnittstelle zu senden. Das Feld „Ursprung“ wird im Anforderungsheader festgelegt und sein Wert ist der Domänenname, auf dem sich unsere Front-End-Seite befindet. Als nächstes lesen wir die Daten aus der API-Antwort und geben sie aus. Legen Sie abschließend das Feld „Access-Control-Allow-Origin“ im Antwortheader auf den Domänennamen unserer Front-End-Seite fest, um den domänenübergreifenden Zugriff zu ermöglichen.

Es ist zu beachten, dass wir im obigen Code die Werte der Felder „Origin“ und „Access-Control-Allow-Origin“ auf den Domänennamen setzen, unter dem sich unsere Front-End-Seite befindet. Sie müssen „https://your-domain.com“ im Code durch Ihren tatsächlichen Domainnamen ersetzen.

Durch das obige Codebeispiel können wir die domänenübergreifende CORS-Verarbeitung der Antwortergebnisse der Baidu Wenxin Yiyan API-Schnittstelle auf der PHP-Serverseite implementieren. Auf diese Weise können wir diese Schnittstelle auf der Front-End-Seite aufrufen, um die Daten zufälliger Sätze zu erhalten. Jeder kann entsprechend seinen tatsächlichen Bedürfnissen entsprechende Modifikationen und Erweiterungen vornehmen.

Zusammenfassung:
Dieser Artikel zeigt anhand von PHP-Codebeispielen, wie die domänenübergreifende CORS-Verarbeitung der Antwortergebnisse der Baidu Wenxin Yiyan API-Schnittstelle implementiert wird. In der tatsächlichen Entwicklung müssen wir domänenübergreifende Probleme auf der Serverseite behandeln, um sicherzustellen, dass die Front-End-Seite normalerweise Daten von der Schnittstelle eines Drittanbieters abrufen kann. Ich hoffe, dieser Artikel kann jedem helfen, das Problem domänenübergreifender Anfragen zu lösen.

Das obige ist der detaillierte Inhalt vonPHP-Code implementiert die domänenübergreifende CORS-Verarbeitung der Antwortergebnisse der Baidu Wenxinyiyan-API-Schnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn