Heim > Artikel > Backend-Entwicklung > Wie implementiert man asynchrone Anfragen der Baidu Wenxin Yiyan API in PHP?
Wie implementiert man asynchrone Anfragen der Baidu Wenxin Yiyan API in PHP?
Baidu Wenxinyiyan API ist eine Schnittstelle, die zufällige Artikelauszüge bereitstellt. Durch den Aufruf dieser Schnittstelle können wir einen ausgewählten Auszug eines schönen Artikels erhalten. In diesem Artikel wird erläutert, wie Sie mit PHP asynchrone Anforderungen an die Baidu Wenxin Yiyan-API implementieren.
Zuerst müssen wir die Adresse und Parameter der Baidu Wenxin Yiyan API erhalten. Die Adresse der Baidu Wenxin Yiyan API lautet http://api.vip68.com/. Sie müssen nur die Schnittstelle, die Sie anfordern möchten, nach der Adresse spleißen. Die Schnittstelle ist in drei Formen unterteilt: Satz, Bild und Stimme. Wir können die entsprechende Schnittstelle entsprechend unseren Anforderungen auswählen.
In PHP können wir die cURL-Bibliothek verwenden, um asynchrone Anfragen an die API zu stellen. cURL ist ein leistungsstarkes Netzwerktool, das eine Vielzahl unterschiedlicher Netzwerkanfragen verarbeiten kann. Zuerst müssen wir die cURL-Erweiterung in PHP aktivieren.
Suchen und löschen Sie die Semikolons vor den folgenden beiden Zeilen in der php.ini-Datei:
;extension=curl
;extension=openssl
Starten Sie dann den Apache-Server neu, damit die Erweiterung wirksam wird.
Als nächstes können wir asynchrone Anfragen an die Baidu Wenxin Yiyan API durch das folgende Codebeispiel implementieren:
<?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 '获取失败'; }
Im obigen Beispiel haben wir eine getWisdomQuote
-Funktion definiert, um asynchrone Anfragen zu senden und die zurückgegebenen Ergebnisse zu erhalten. Zuerst müssen wir die angeforderte URL festlegen und dann die Funktion curl_init
verwenden, um eine cURL-Sitzung zu initialisieren. 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
CURLOPT_RETURNTRANSFER
, um cURL anzuweisen, das Ergebnis der Anfrage in einer Variablen zu speichern, anstatt es direkt an den Browser auszugeben, CURLOPT_HEADER
Yu weist cURL an, keine Antwortheader zurückzugeben. Dann verwenden wir die Funktion curl_multi_add_handle
, um das Anforderungshandle zum Objekt curl_multi
hinzuzufügen, um asynchrone Anforderungen zu implementieren. 🎜🎜Schließlich verwenden wir die Funktion curl_multi_exec
, um die asynchrone Anfrage auszuführen, und verwenden die Funktion curl_multi_getcontent
, um das Rückgabeergebnis zu erhalten. Anschließend dekodieren wir das zurückgegebene Ergebnis mithilfe der Funktion json_decode
in das JSON-Format und verarbeiten das Ergebnis, indem wir feststellen, ob das Ergebnis vorhanden ist. 🎜🎜Schließlich können wir die Funktion getWisdomQuote
in PHP aufrufen, um den Auszug von Baidu Wenxin Yiyan abzurufen und das Ergebnis auf der Seite anzuzeigen. 🎜🎜Durch die oben genannten Schritte können wir asynchrone Anfragen an die Baidu Wenxin Yiyan API in PHP implementieren und ausgewählte Artikelauszüge erhalten. Ich hoffe, dieser Artikel hilft Ihnen beim Erlernen und Verwenden der PHP-API für asynchrone Anfragen! 🎜Das obige ist der detaillierte Inhalt vonWie implementiert man asynchrone Anfragen der Baidu Wenxin Yiyan API in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!