يمكن أن يشكل استرداد صفحات الويب المضغوطة باستخدام cURL تحديات عند عرض المحتوى على المتصفح. بدلاً من الحصول على HTML المقصود، قد ينتهي بك الأمر ببيانات مضغوطة بتنسيق gzip. لحل هذه المشكلة، قمنا بالتعمق في طرق فك التشفير الفعالة في PHP.
أولاً، نحتاج إلى فهم سلوك cURL. افتراضيًا، لا يقوم cURL بفك تشفير البيانات المضغوطة تلقائيًا. لتمكين ذلك، يمكننا تنشيط وضع "التشفير التلقائي" الخاص بـ cURL.
قم بتنفيذ الأمر التالي للسماح لـ cURL بالتعامل مع عملية التشفير:
// Allow cURL to use gzip compression, or any other supported encoding
// A blank string activates 'auto' mode
curl_setopt($ch, CURLOPT_ENCODING, '');
باستخدام هذا الإعداد، سيقوم cURL بإبلاغ الخادم عن طرق التشفير المدعومة (عبر رأس قبول التشفير) وإلغاء ضغط الاستجابة تلقائيًا.
في حالات معينة، قد تفضل فرض تشفير الرأس بشكل إجباري: gzip. استخدم هذا الأمر:
// Allow cURL to use gzip compression, or any other supported encoding
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
من خلال تمكين وضع التشفير التلقائي لـ cURL أو فرض تشفير gzip، يمكنك بسهولة فك تشفير صفحات الويب المضغوطة التي تم استردادها عبر cURL في PHP. راجع وثائق PHP لمزيد من التفاصيل حول curl_setopt.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3