Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kod PHP melaksanakan pemampatan gzip tindak balas dan penyahmampatan antara muka API Baidu Wenxinyiyan

Kod PHP melaksanakan pemampatan gzip tindak balas dan penyahmampatan antara muka API Baidu Wenxinyiyan

WBOY
WBOYasal
2023-08-14 23:37:50965semak imbas

Kod PHP melaksanakan pemampatan gzip tindak balas dan penyahmampatan antara muka API Baidu Wenxinyiyan

Kod PHP melaksanakan pemampatan gzip tindak balas dan penyahmampatan antara muka API Baidu Wenxinyiyan

Kini, komunikasi rangkaian telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian manusia. Untuk meningkatkan kecekapan penghantaran rangkaian dan menjimatkan penggunaan sumber jalur lebar, banyak tapak web menggunakan teknologi pemampatan gzip untuk memampatkan data sebelum menghantarnya. API Baidu Wenxin Yiyan juga menyediakan antara muka yang menyokong pemampatan gzip Artikel ini akan memperkenalkan cara menggunakan kod PHP untuk melaksanakan pemampatan dan penyahmampatan gzip sebagai tindak balas kepada antara muka API Baidu Wenxin Yiyan.

Pertama, kita perlu memastikan pelayan memasang dan mendayakan modul gzip. Pada pelayan Apache, modul gzip boleh didayakan dengan mengubah suai fail konfigurasi. Pada pelayan Nginx, modul gzip datang secara lalai dan telah didayakan. Seterusnya, kita perlu menggunakan kod PHP untuk melaksanakan pemampatan gzip dan penyahmampatan permintaan dan respons kepada antara muka API Baidu Wenxin Yiyan.

Kod sampel adalah seperti berikut:

<?php
// 百度文心一言API接口地址
$url = "https://v1.hitokoto.cn/";

// 创建一个 cURL 句柄
$ch = curl_init();

// 设置 cURL 选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_ENCODING, "gzip");

// 执行 cURL 请求
$response = curl_exec($ch);

// 判断是否请求成功
if ($response === false) {
    echo "请求百度文心一言API失败:" . curl_error($ch);
}

// 关闭 cURL 句柄
curl_close($ch);

// 解压缩响应数据
$response = gzdecode($response);

// 输出响应数据
echo $response;
?>

Kod di atas mula-mula mencipta pemegang cURL melalui fungsi curl_init() dan menetapkan alamat antara muka API Baidu Wenxin Yiyan. Kemudian, gunakan fungsi curl_setopt() untuk menetapkan pilihan cURL yang berkaitan, dengan CURLOPT_RETURNTRANSFER ditetapkan kepada benar, menunjukkan bahawa data respons dikembalikan dan bukannya mengeluarkannya terus ke skrin;

Seterusnya, laksanakan permintaan cURL melalui fungsi curl_exec() dan tetapkan data respons yang dikembalikan kepada pembolehubah $response. Kemudian, gunakan fungsi curl_error() untuk menentukan sama ada permintaan itu berjaya Jika ia gagal, mesej ralat akan dikeluarkan.

Akhir sekali, gunakan fungsi gzdecode() untuk menyahmampat data tindak balas dan mengeluarkan data yang dinyahmampat ke skrin.

Menggunakan kod di atas, kami boleh melaksanakan pemampatan dan penyahmampatan gzip sebagai tindak balas kepada antara muka API Baidu Wenxin Yiyan. Perlu diingat bahawa jika antara muka mengembalikan data yang dimampatkan gzip dan kami tidak menetapkan pilihan CURLOPT_ENCODING kepada "gzip", maka kami tidak akan dapat menyahmampat data dengan betul.

Ringkasan:

Artikel ini memperkenalkan cara melaksanakan pemampatan dan penyahmampatan gzip sebagai tindak balas kepada antara muka API Baidu Wenxin Yiyan melalui contoh kod PHP. Dengan menggunakan teknologi pemampatan gzip, penggunaan sumber jalur lebar boleh dijimatkan dengan berkesan dan kecekapan penghantaran rangkaian boleh dipertingkatkan. Saya harap artikel ini akan membantu untuk melaksanakan pemampatan dan penyahmampatan gzip menggunakan kod PHP.

Atas ialah kandungan terperinci Kod PHP melaksanakan pemampatan gzip tindak balas dan penyahmampatan antara muka API Baidu Wenxinyiyan. 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