"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية فك تشفير صفحات الويب المضغوطة التي تم استردادها عبر cURL في PHP؟

كيفية فك تشفير صفحات الويب المضغوطة التي تم استردادها عبر cURL في PHP؟

تم النشر بتاريخ 2024-11-12
تصفح:995

How to Decode Gzipped Web Pages Retrieved via cURL in PHP?

فك تشفير صفحة الويب المضغوطة التي تم استردادها عبر cURL في PHP

يمكن أن يشكل استرداد صفحات الويب المضغوطة باستخدام 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 القسري

في حالات معينة، قد تفضل فرض تشفير الرأس بشكل إجباري: 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.

بيان الافراج أعيد طبع هذه المقالة على: 1729690936 في حالة وجود أي مخالفة، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3