Rumah > Soal Jawab > teks badan
Bila saya sertakan curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'curl_write_flush')
时,我将标头插入到 $body
中。但如果没有 CURLOPT_WRITEFUNCTION
一切正常。我该怎么做才能阻止标头插入 $body
?
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://stackoverflow.com"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); function curl_write_flush($curl_handle, $chunk) { echo $chunk; ob_flush(); flush(); return strlen($chunk); } curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'curl_write_flush'); // WORKS WITHOUT $response = curl_exec($ch); $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); curl_close($ch); $headers = substr($response, 0, $header_size); $body = substr($response, $header_size); die($body); ?>
P粉2621135692024-03-20 18:13:33
https://curl.se/libcurl/c/CURLOPT_WRITEFUNCTION.html
Sama ada alih keluar curl_setopt($ch, CURLOPT_HEADER, 1);
atau anda perlu menghuraikan pengepala daripada data panggil balik sendiri.
Anda juga boleh menggunakan CURLOPT_HEADERFUNCTION
, seperti yang ditunjukkan dalam jawapan ini:
https://stackoverflow.com/a/41135574/1064767