PHP CURLOPT_WRITEFUNCTION はヘッダー情報を本文に返します
P粉799885311
P粉799885311 2024-03-19 19:20:53
0
1
465

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);

    関数curl_write_flush($curl_handle, $chunk) {
        エコー$チャンク;
        ob_flush();
        流す();
        strlen($chunk)を返します;
    }
    curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'curl_write_flush'); // なしでも動作します

    $response =curl_exec($ch);
    $header_size =curl_getinfo($ch, CURLINFO_HEADER_SIZE);

    カール_クローズ($ch);

    $headers = substr($response, 0, $header_size);
    $body = substr($response, $header_size);

    死ぬ($body);

?>

P粉799885311
P粉799885311

全員に返信(1)
P粉262113569

https://curl.se/libcurl/c/CURLOPT_WRITEFUNCTION.html

curl_setopt($ch, CURLOPT_HEADER, 1); を削除するか、コールバック データからヘッダーを自分で解析する必要があります。

この回答に示されているように、CURLOPT_HEADERFUNCTION を使用することもできます:

https://stackoverflow.com/a/41135574/1064767

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!