كيف يمكنك تعيين JavaScript على أنها ممكّنة عند استخدام DefaultHTTPclient؟

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

  •  30-09-2019
  •  | 
  •  

سؤال

أنا أحاول استخدام DefaulthTtpClient لتسجيل الدخول إلى Xbox.com. أدرك أنه لا يمكنك تسجيل الدخول دون زيارة http://login.live.com, ، لذلك كنت سأقوم بالإرسال إلى النموذج في تلك الصفحة ثم استخدم ملفات تعريف الارتباط في أي طلبات إلى Xbox.com.

المشكلة هي أن طلب أي شيء من live.com باستخدام DefaultHttPclient يعيد رسالة التالية.

يتطلب معرف Windows Live JavaScript تسجيل الدخول. لا يدعم متصفح الويب هذا JavaScript ، أو يتم حظر البرامج النصية.

كيف يمكنني أن أخبر DefaulthTtpClient أن أخبر الخادم أن JavaScript متاح للاستخدام؟ حاولت البحث في الخيارات الافتراضية وأيضًا إضافتها ككائن معلمة ولكن لا يمكنني رؤية ما يجب علي فعله.

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

المحلول

السبب في حدوث ذلك هو أن هذا الخط من HTML يتم تحليله من Live:

<noscript><meta http-equiv="Refresh" content="0; URL=http://login.live.com/jsDisabled.srf?mkt=EN-US&lc=1033"/>Windows Live ID requires JavaScript to sign in. This web browser either does not support JavaScript, or scripts are being blocked.<br /><br />To find out whether your browser supports JavaScript, or to allow scripts, see the browser's online help.</noscript>

الذي يتم استخدامه لإعادة توجيهك إذا لم يتم تمكين عميلك <noscript> العلامات.)

يمكنك محاولة استخدام مكتبة HTTP الأقل ذكاءً والتي لا تقوم بتحليل المحتوى ، ولكن بدلاً من ذلك يقوم ببساطة بالنقل وتترك التحليل لك.

نصائح أخرى

يستخدم Wireshark لتتبع الاتصال باستخدام كل من المتصفح وبرنامجك ، والبحث عن الاختلافات. من الصعب أن نقول ما الذي يبحث عنه live.com/xbox.com بالضبط ، ولكن من المحتمل أن يكون هناك بعض التعليمات البرمجية Ajax-y المستخدمة للحصول على المحتوى الفعلي.

يتطلب معرف Windows Live JavaScript تسجيل الدخول. لا يدعم متصفح الويب هذا JavaScript ، أو يتم حظر البرامج النصية.

لمعرفة ما إذا كان متصفحك يدعم JavaScript ، أو للسماح للنصوص ، انظر مساعدة المتصفح عبر الإنترنت.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top