Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan panggilan balik tak segerak antara muka Baidu Wenxin Yiyan dalam pembangunan PHP?

Bagaimana untuk melaksanakan panggilan balik tak segerak antara muka Baidu Wenxin Yiyan dalam pembangunan PHP?

WBOY
WBOYasal
2023-08-26 17:22:441037semak imbas

Bagaimana untuk melaksanakan panggilan balik tak segerak antara muka Baidu Wenxin Yiyan dalam pembangunan PHP?

Bagaimana untuk melaksanakan panggilan balik tak segerak antara muka Baidu Wenxin Yiyan dalam pembangunan PHP?

Hitokoto, sebagai perkhidmatan ayat pendek yang penuh dengan falsafah, emosi dan rawak, disukai oleh ramai pembangun dan pengguna. Baidu menyediakan antara muka yang boleh mendapatkan maklumat melalui panggilan balik tak segerak. Jadi, artikel ini akan memperkenalkan cara melaksanakan panggilan balik tak segerak antara muka Baidu Wenxin Yiyan dalam pembangunan PHP.

Pertama, kami perlu mendaftar akaun pembangun Baidu dan membuat aplikasi untuk mendapatkan Kunci API dan Kunci Rahsia yang diperlukan untuk mengakses API. Seterusnya, kita boleh mula menulis kod.

Mula-mula, buat fail bernama hitokoto.php dan tambah kod berikut: hitokoto.php的文件,并添加以下代码:

<?php
$apiKey = '你的API Key';
$secretKey = '你的Secret Key';

$url = 'http://api.hitokoto.cn/?encode=json';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-Bce-Signature-Key: ' . $apiKey . ':' . $secretKey]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error: ' . curl_error($ch);
} else {
    echo $response;
}
curl_close($ch);

上述代码中,我们首先定义了API Key和Secret Key,并设置了要请求的接口URL。接着,我们使用curl_init()函数初始化一个CURL会话,并通过curl_setopt()函数设置一些CURL选项。其中,CURLOPT_URL指定要访问的URL,CURLOPT_RETURNTRANSFER设为1表示将请求的返回值以字符串形式返回,CURLOPT_HEADER设为0表示不返回响应头信息,CURLOPT_TIMEOUT设定超时时间,CURLOPT_HTTPHEADER设置请求头信息,其中包括API Key和Secret Key。接下来,我们通过curl_exec()函数发送请求,并通过curl_errno()函数检查是否有错误。最后,我们使用curl_close()函数关闭CURL会话。

保存文件后,我们可以通过访问hitokoto.php文件来获取一言的内容。

以上是使用CURL实现的一种方式。除此之外,我们还可以使用PHP的file_get_contents()函数来实现。

修改hitokoto.php文件的代码如下:

<?php
$apiKey = '你的API Key';
$secretKey = '你的Secret Key';

$url = 'http://api.hitokoto.cn/?encode=json';
$context = stream_context_create([
    'http' => [
        'method' => 'GET',
        'header' => 'X-Bce-Signature-Key: ' . $apiKey . ':' . $secretKey,
    ],
]);
$response = file_get_contents($url, false, $context);
if ($response === false) {
    echo 'Error: ' . error_get_last()['message'];
} else {
    echo $response;
}
?>

上述代码中,我们首先定义了API Key和Secret Key,并设置了要请求的接口URL。接着,我们通过stream_context_create()函数创建一个上下文,其中'http'指定了请求的方法为GET,并设置了请求头信息,其中包括API Key和Secret Key。最后,我们通过file_get_contents()函数发送请求,并通过比较返回的结果是否为falserrreee

Dalam kod di atas, kami mula-mula mentakrifkan Kunci API dan Kunci Rahsia, dan tetapkan antara muka untuk diminta URL . Seterusnya, kami menggunakan fungsi curl_init() untuk memulakan sesi CURL dan menetapkan beberapa pilihan CURL melalui fungsi curl_setopt(). Antaranya, CURLOPT_URL menentukan URL untuk diakses, CURLOPT_RETURNTRANSFER ditetapkan kepada 1 untuk mengembalikan nilai permintaan pulangan dalam bentuk rentetan dan CURLOPT_HEADER code> ditetapkan kepada 0 Menunjukkan bahawa tiada maklumat pengepala respons dikembalikan, <code>CURLOPT_TIMEOUT menetapkan tamat masa dan CURLOPT_HTTPHEADER menetapkan maklumat pengepala permintaan, termasuk Kunci API dan Kunci Rahsia. Seterusnya, kami menghantar permintaan melalui fungsi curl_exec() dan menyemak ralat melalui fungsi curl_errno(). Akhir sekali, kami menutup sesi CURL menggunakan fungsi curl_close().

Selepas menyimpan fail, kita boleh mendapatkan kandungan Yiyan dengan mengakses fail hitokoto.php. 🎜🎜Di atas adalah salah satu cara untuk mencapainya menggunakan CURL. Selain itu, kami juga boleh menggunakan fungsi file_get_contents() PHP untuk mencapai ini. 🎜🎜Ubah suai kod fail hitokoto.php seperti berikut: 🎜rrreee🎜Dalam kod di atas, kami mula-mula mentakrifkan Kunci API dan Kunci Rahsia, dan tetapkan URL antara muka untuk diminta. Seterusnya, kami mencipta konteks melalui fungsi stream_context_create(), di mana 'http' menentukan kaedah permintaan sebagai GET dan menetapkan maklumat pengepala permintaan, termasuk Kunci API dan Rahsia kunci. Akhir sekali, kami menghantar permintaan melalui fungsi file_get_contents() dan menentukan sama ada permintaan itu berjaya dengan membandingkan sama ada hasil yang dikembalikan adalah false. 🎜🎜Di atas ialah contoh kod untuk melaksanakan panggilan balik tak segerak antara muka Baidu Wenxin Yiyan dalam pembangunan PHP. Melalui kaedah ini, kami boleh mendapatkan kandungan Yiyan dengan mudah dan menggunakannya dalam aplikasi kami sendiri. Harap artikel ini membantu anda! 🎜

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan panggilan balik tak segerak antara muka Baidu Wenxin Yiyan dalam pembangunan 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