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?

WBOY
WBOYOriginal
2023-08-12 17:22:48972Durchsuche

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

Als nächstes legen wir einige cURL-Optionen fest, wie zum Beispiel 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!

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