如何在PHP中實作百度文心一言API的非同步請求?
百度文心一言API是一個提供隨機文章摘錄的介面。透過呼叫該接口,我們可以獲得一句精選的優美文章摘錄。本文將介紹如何利用PHP實現對百度文心一言API的非同步請求。
首先,我們需要取得百度文心一言API的位址與參數。百度文心一言API的位址為http://api.vip68.com/,只需要在位址後面拼接上要請求的介面即可。介面分為句子、圖片和語音三種形式,我們可以根據需求選擇適合的介面。在
PHP中,我們可以使用cURL函式庫進行API的非同步請求。 cURL是一個功能強大的網路工具,可以處理各種不同的網路請求。首先,我們需要在PHP中開啟cURL擴充。
在php.ini檔案中找到並刪除以下兩行前的分號:
;extension=curl
;extension=openssl
然後重新啟動Apache伺服器使擴展生效。
接下來,我們可以透過以下程式碼範例來實現對百度文心一言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
函數來取得百度文心一言的摘錄,並將結果顯示在頁面上。
透過上述步驟,我們可以在PHP中實現對百度文心一言API的非同步請求,並取得到精選的文章摘錄。希望這篇文章對你學習和使用PHP非同步請求API有幫助!
以上是如何在PHP中實現百度文心一言API的非同步請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!