Dapatkan dan tulis semua data bernombor dalam fail melalui PHP API cURL dalam gelung
P粉652523980
P粉652523980 2023-09-01 10:42:29
0
1
642
<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>
P粉652523980
P粉652523980

membalas semua(1)
P粉275883973

Anda kehilangan beberapa butiran. Saya boleh memberi anda bantuan am.
Ini mungkin cukup untuk membawa anda ke landasan yang betul.

file_put_contents('CURL-CONTENT.txt',''); // 创建文件并清空其内容(如果文件存在)
$url = "myURL/incoming/v2/content/";
while(true){
  $curl = curl_init($url);
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  
  $headers = array(
     "Accept: application/json",
     "Authorization: Bearer key",
  );
  curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
  // 仅用于调试!
  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,FILE_APPEND); // 追加到文件中
 // 获取hasMore的值。
  if(!hasMore){break;}
 // 此时必须还有更多内容,因此准备下一个URL
  $url = "myURL/incoming/v2/content/?Cursor=Mg";
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan