كيف يمكنني جعل LWP :: UserAgent يبدو أنه مثبت فلاش؟

StackOverflow https://stackoverflow.com/questions/2210953

  •  18-09-2019
  •  | 
  •  

سؤال

لدي برنامج نصي بيرل يستخدم LWP :: UserAgent. لتنزيل صفحة الويب التي تقوم بها بعد ذلك باستخدام تعبيرات منتظمة. المشكلة هي أن الأجزاء من صفحة الويب التي هي HTML العادية لا يتم إرجاعها إلى LWP :: UserAgent نظرا لأن الموقع يتعرف على أن المستعرض لا يحتوي على فلاش مثبت وبدلا من ذلك إرجاع HTML يطالبنا بتنزيل Flash بدلا من HTML المناسب نحن بحاجة إلى تحليل.

كيف يمكنني جعل LWP :: UserAgent يبدو أنه يحتوي على فلاش مثبت على خادم الويب الذي نطلبه الصفحة؟ أنا أستخدم التعليمات البرمجية التالية لتهيئة LWP :: USAGENT:

use LWP::UserAgent;
my $ua = LWP::UserAgent->new(cookie_jar => { },requests_redirectable => [ ]);
$ua->agent('Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:9.9.9.9) Gecko/20079999 Firefox/2.0.0.1');
$ua->timeout(10);

شكرا مقدما لمساعدتكم!

هل كانت مفيدة؟

المحلول 3

كلا michael & dma_k كانت صحيحة. لم يكن الخادم لا يتحقق ما إذا كان LWP :: UserAgent مثبت فلاش. بدلا من ذلك، لسبب ما لم يتم إلقاء المحتوى الذي تم إرجاعه بشكل صحيح بينما كنا نحاول تصحيح البرنامج النصي. لسوء الحظ، لم نكتشف طريقة لإصلاح هذا ولكن بعد بعض التجربة والخطأ أحسبنا كيفية سحب الحقول المناسبة من الصفحة. آسف أن هناك حقا إجابة صحيحة لهذا واحد.

نصائح أخرى

أود أن أوصيك أن تستخدم Firebug. لذلك - الملحق لطيف للغاية وقوي ل FF. وأنا أتفق مع مايكل، أن الخادم يمكن أن يتعلم معلومات مثل العميل فقط من الرؤوس فقط من الرؤوس، أو من البرنامج النصي، والذي يعمل على العميل ويمكن أن يتحدث إلى الخادم (جافا سكريبت، فليكس، ...). لحالة JavaScript، يمكنك محاولة تعطيله في FF مؤقت ومحاولة إعادة تحميل الصفحة: إذا أجبك الخادم بنفس الشيء بالنسبة ل LWP، فأنت تعرف الإجابة.

ربما يكون الموقع اختبارا إذا تم تثبيت Flash باستخدام JavaScript. في كثير من الأحيان هذا الاختبار هو الجانب العميل فقط وهناك لا ينبغي أن يؤثر على الصفحة. ولكن ربما يطلقون إقلاع طلب ASYNC يخبر الخادم الذي تم تثبيت فلاش. لاختبار ذلك، تحتاج إلى تنزيل TamperData، قم بتحميل نافذة TamperData من قائمة "أدوات" وتحديث الصفحة ". ستظهر لك النافذة جميع الطلبات التي يتم إطلاقها ويمكنك فحصها. إذا كان هناك بعض الطلب مثل http://whatever.com/flash_test.php؟flash_installed=true. ، ثم يمكنك إعادة تشغيل هذا الطلب باستخدام LWP.

خيار آخر هو فك تطبيق فلاش. هذا سهل الاستخدام للغاية وغالبا ما ستحصل على مصدر كامل بما في ذلك تعليقات التعليمات البرمجية، وهنا تجربة مجانية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top