Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan permintaan tak segerak Baidu Wenxin Yiyan API dalam PHP?

Bagaimana untuk melaksanakan permintaan tak segerak Baidu Wenxin Yiyan API dalam PHP?

WBOY
WBOYasal
2023-08-12 17:22:48936semak imbas

Bagaimana untuk melaksanakan permintaan tak segerak Baidu Wenxin Yiyan API dalam PHP?

Bagaimana untuk melaksanakan permintaan tak segerak Baidu Wenxin Yiyan API dalam PHP?

Baidu Wenxinyiyan API ialah antara muka yang menyediakan petikan artikel rawak. Dengan memanggil antara muka ini, kita boleh mendapatkan petikan terpilih bagi artikel yang cantik. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan permintaan tak segerak kepada API Baidu Wenxin Yiyan.

Pertama, kita perlu mendapatkan alamat dan parameter API Baidu Wenxin Yiyan. Alamat API Baidu Wenxin Yiyan ialah http://api.vip68.com/ Anda hanya perlu menyambung antara muka yang anda ingin minta selepas alamat. Antara muka terbahagi kepada tiga bentuk: ayat, gambar dan suara Kita boleh memilih antara muka yang sesuai mengikut keperluan kita.

Dalam PHP, kita boleh menggunakan perpustakaan cURL untuk membuat permintaan tak segerak kepada API. cURL ialah alat rangkaian berkuasa yang boleh mengendalikan pelbagai permintaan rangkaian yang berbeza. Pertama, kita perlu mendayakan sambungan cURL dalam PHP.

Cari dan padam koma bertitik sebelum dua baris berikut dalam fail php.ini:

;extension=curl
;extension=openssl

Kemudian mulakan semula pelayan Apache untuk menjadikan sambungan itu berkuat kuasa.

Seterusnya, kami boleh melaksanakan permintaan tak segerak ke API Baidu Wenxin Yiyan melalui contoh kod berikut:

<?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 '获取失败';
}

Dalam contoh di atas, kami menentukan fungsi getWisdomQuote untuk menghantar permintaan tak segerak dan mendapatkan hasil yang dikembalikan. Mula-mula, kita perlu menetapkan URL yang diminta, dan kemudian gunakan fungsi curl_init untuk memulakan sesi cURL. 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

Seterusnya, kami menetapkan beberapa pilihan cURL, seperti CURLOPT_RETURNTRANSFER untuk memberitahu cURL supaya menyimpan hasil permintaan ke dalam pembolehubah dan bukannya mengeluarkannya terus ke penyemak imbas, CURLOPT_HEADER untuk menggunakan Yu memberitahu cURL untuk tidak mengembalikan pengepala respons.

Kemudian, kami menggunakan fungsi curl_multi_add_handle untuk menambah pemegang permintaan pada objek curl_multi untuk melaksanakan permintaan tak segerak. 🎜🎜Akhir sekali, kami menggunakan fungsi curl_multi_exec untuk melaksanakan permintaan tak segerak dan menggunakan fungsi curl_multi_getcontent untuk mendapatkan hasil pemulangan. Kemudian, kami menyahkod hasil pulangan ke dalam format JSON melalui fungsi json_decode dan memproses hasilnya dengan menentukan sama ada hasilnya wujud. 🎜🎜Akhir sekali, kita boleh memanggil fungsi getWisdomQuote dalam PHP untuk mendapatkan petikan Baidu Wenxin Yiyan dan memaparkan hasilnya pada halaman. 🎜🎜Melalui langkah di atas, kami boleh melaksanakan permintaan tak segerak ke API Baidu Wenxin Yiyan dalam PHP dan mendapatkan petikan artikel terpilih. Saya harap artikel ini akan membantu anda mempelajari dan menggunakan API permintaan tak segerak PHP! 🎜

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan permintaan tak segerak Baidu Wenxin Yiyan API dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn