ホームページ  >  記事  >  バックエンド開発  >  ## CURLOPT_RETURNTRANSFER を使用すると、Curl が「18: 未処理の読み取りデータが残っているため転送が終了しました」を返すのはなぜですか?

## CURLOPT_RETURNTRANSFER を使用すると、Curl が「18: 未処理の読み取りデータが残っているため転送が終了しました」を返すのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-26 09:09:02914ブラウズ

## Why Does Curl Return

未処理の読み取りデータによる転送クローズ エラーへの対処

curl を使用してデータ取得を実行すると、特に CURLOPT_RETURNTRANSFER を使用する場合に、エラー メッセージが表示される場合があります。後で取得できるようにデータを保存します。このエラー「18: 転送は未処理の読み取りデータが残っているため閉じられました」が発生すると、データが不完全になる可能性があります。

注目すべき点の 1 つは、CURLOPT_RETURNTRANSFER が false に設定されている場合にはこのエラーが発生せず、データが表示されることです。直接。この動作により、潜在的な根本的な問題について疑問が生じます。

エラーについて

エラー メッセージは基本的に、libcurl がチャンク化されたエンコード ストリーム内で不完全なチャンク受信を識別したことを示しています。接続が途中で閉じられると、libcurl は最後に受信したチャンクが未完了であることを認識します。この認識により、エラー コードがトリガーされます。

問題への対処

リクエストを変更せずにこのエラーを排除することは不可能です。ただし、このバージョンではチャンク エンコーディングが採用されていないため、代わりに HTTP 1.0 リクエストを発行することで回避策が存在します。ただし、このエラーはネットワーク、サーバー、またはセットアップ関連の問題である可能性があり、さらに調査する必要があることを認識することが重要です。

以上が## CURLOPT_RETURNTRANSFER を使用すると、Curl が「18: 未処理の読み取りデータが残っているため転送が終了しました」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。