Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kod PHP melaksanakan pemprosesan merentas domain CORS hasil tindak balas antara muka API Baidu Wenxinyiyan

Kod PHP melaksanakan pemprosesan merentas domain CORS hasil tindak balas antara muka API Baidu Wenxinyiyan

王林
王林asal
2023-08-12 12:09:171631semak imbas

Kod PHP melaksanakan pemprosesan merentas domain CORS hasil tindak balas antara muka API Baidu Wenxinyiyan

Kod PHP melaksanakan pemprosesan merentas domain CORS hasil tindak balas antara muka API Baidu Wenxinyiyan

Dalam pembangunan web, perkongsian sumber silang asal (Perkongsian Sumber Silang Asal) adalah masalah biasa. Apabila kami meminta sumber di bawah satu nama domain daripada halaman web di bawah nama domain yang lain, jika pemprosesan merentas domain tidak dilakukan, penyemak imbas akan menyekat permintaan secara lalai. Dalam pembangunan sebenar, kita sering perlu memanggil antara muka pihak ketiga di halaman hadapan untuk mendapatkan data. Artikel ini akan memperkenalkan cara menggunakan kod PHP untuk melaksanakan pemprosesan merentas domain CORS bagi hasil tindak balas antara muka API Baidu Wenxinyiyan.

Antara muka API Baidu Wen Xin Yi Yan ialah antara muka yang menyediakan ayat rawak Kita boleh mendapatkan ayat Wen Xin Yi Yan secara rawak dengan menghantar permintaan GET ke antara muka. Mula-mula, kita perlu menggunakan XMLHttpRequest atau API Ambil di halaman hadapan untuk menghantar permintaan GET ke antara muka API Baidu Wenxin Yiyan. Disebabkan dasar asal yang sama penyemak imbas, kami perlu melakukan pemprosesan merentas domain CORS di bahagian pelayan.

Berikut ialah contoh kod PHP mudah yang menunjukkan cara melaksanakan pemprosesan merentas domain CORS hasil tindak balas antara muka API Baidu Wenxin Yiyan:

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

// 使用 CURL 发送 GET 请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 设置请求头中的 Origin 字段,用于解决 CORS 跨域问题
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Origin: https://your-domain.com', // 将 your-domain.com 替换为你实际的域名
]);

$response = curl_exec($ch);
curl_close($ch);

// 设置响应头中的 Access-Control-Allow-Origin 字段,允许跨域访问
header('Access-Control-Allow-Origin: https://your-domain.com');
// 其他 CORS 相关响应头可以根据需要进行设置

// 输出 API 响应结果
echo $response;
?>

Dalam kod di atas, kami mula-mula mentakrifkan API Baidu Wenxin Yiyan Alamat antara muka, dan kemudian gunakan CURL untuk menghantar permintaan GET ke antara muka. Medan Asal ditetapkan dalam pengepala permintaan, dan nilainya ialah nama domain di mana halaman hadapan kami berada. Seterusnya, kami membaca data daripada respons API dan mengeluarkannya. Akhir sekali, tetapkan medan Access-Control-Allow-Origin dalam pengepala respons kepada nama domain halaman hadapan kami untuk membenarkan akses merentas domain.

Perlu diambil perhatian bahawa dalam kod di atas, kami menetapkan nilai medan Asal dan medan Access-Control-Allow-Origin kepada nama domain di mana halaman hadapan kami berada. Anda perlu menggantikan "https://your-domain.com" dalam kod dengan nama domain sebenar anda.

Melalui contoh kod di atas, kami boleh melaksanakan pemprosesan merentas domain CORS hasil tindak balas antara muka API Baidu Wenxin Yiyan di bahagian pelayan PHP. Dengan cara ini, kita boleh memanggil antara muka ini di muka hadapan untuk mendapatkan data ayat rawak. Setiap orang boleh membuat pengubahsuaian dan pengembangan yang sepadan mengikut keperluan sebenar mereka.

Ringkasan:
Artikel ini menunjukkan cara melaksanakan pemprosesan merentas domain CORS bagi hasil tindak balas antara muka API Baidu Wenxin Yiyan melalui contoh kod PHP. Dalam pembangunan sebenar, untuk isu merentas domain, kami perlu mengendalikannya di bahagian pelayan untuk memastikan halaman hujung hadapan biasanya boleh mendapatkan data daripada antara muka pihak ketiga. Saya harap artikel ini dapat membantu semua orang menyelesaikan masalah permintaan merentas domain.

Atas ialah kandungan terperinci Kod PHP melaksanakan pemprosesan merentas domain CORS hasil tindak balas 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