Dapatkan dan tulis semua data bernombor dalam fail melalui PHP API cURL dalam gelung
P粉652523980
2023-09-01 10:42:29
<p>Sebagai seorang yang agak baru untuk membuat permintaan dan pengekodan API dengan sewajarnya, saya ingin membantu menulis kod yang sesuai untuk menggelung, mengalihkan kursor ke halaman seterusnya dan mengembalikan semua data sehingga tiada lagi halaman. Kod awal saya mendapat halaman pertama 50 hasil tanpa gelung. Saya cuma perlukan bantuan menulis gelung yang betul. </p>
<p>Kod awal adalah seperti berikut. Ia berfungsi dengan baik untuk mendapatkan halaman pertama hasil. Saya mengeluarkan keputusan ke skrin hanya untuk menguji dan melihat apakah outputnya. Tiada sebarang ralat pengendalian dalam kod. </p>
<p><strong>Saya perlu menambah gelung dalam kod saya sehingga hasMore palsu dan kemudian tulis/tambah data pada fail saya. </strong></p>
<p>Dokumentasi API menunjukkan bahawa saya boleh menggerakkan kursor dan mendapatkan halaman seterusnya dengan cara berikut.
Titik akhir ini melakukan penomboran melalui kursor. Atribut pageInfo akan mengandungi maklumat tentang sama ada terdapat lebih banyak hasil: {"cursor": "Mg", "hasMore": true}. Jika hasMore benar, kursor boleh dihantar ke permintaan API seterusnya sebagai sebahagian daripada rentetan pertanyaan untuk mendapatkan halaman hasil seterusnya, mis. </p>
<pre class="brush:php;toolbar:false;"><?php
$url = "myURL/incoming/v2/content";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"Terima: aplikasi/json",
"Keizinan: Kunci pembawa",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//untuk nyahpepijat sahaja!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
file_put_contents('CURL-CONTENT.txt', $resp);
?></pra></p>
Anda kehilangan beberapa butiran. Saya boleh memberi anda bantuan am.
Ini mungkin cukup untuk membawa anda ke landasan yang betul.