ホームページ > バックエンド開発 > PHPチュートリアル > PHP インターフェース --curl リクエストにより受信された不完全なメッセージの解決策

PHP インターフェース --curl リクエストにより受信された不完全なメッセージの解決策

little bottle
リリース: 2023-04-06 07:16:01
転載
3164 人が閲覧しました

この記事の主な内容は、PHP インターフェイスの問題に関するものです。ヘッダーのエンコーディングが本文メッセージのエンコーディングと一致しない場合、curl リクエストにより受信メッセージが不完全になります。興味のある方は詳細をご覧ください。

質問:

たとえば、あるドッキング プロセス中に、相手から返されたヘッダーは gbk エンコード (Content-type: text/xml; charset=GBK) ですが、メッセージは本文では UTF-8 エンコーディングであるため、返されるメッセージが不完全になります。

詳細な説明:

具体的な理由は、GBK エンコーディングにより 1 つの中国語文字が 2 バイトを占有し、 UTF-8 エンコード 漢字 1 文字は 3 バイトを占有しますcurl リクエストの応答で返される文字長は GBK エンコードに従って計算されるため、計算されたメッセージの文字長は実際の長さよりも小さくなります。応答データの文字長が計算されます。メッセージの長さに達すると停止し、返されるメッセージは不完全になります。

解決策:

curl メソッドを使用しないでください。リクエストを行うには、代わりに file_get_contents メソッドを使用してください。 file_get_contents はヘッド情報を返さないため、コーディングの不整合は発生しません。

関連チュートリアル:PHP ビデオ チュートリアル

以上がPHP インターフェース --curl リクエストにより受信された不完全なメッセージの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート