كيفية تسجيل الدخول إلى موقع على شبكة الإنترنت من خلال جافا؟

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

  •  05-07-2019
  •  | 
  •  

سؤال

لقد حاولت عدة طرق لتسجيل الدخول إلى موقع على شبكة الإنترنت من خلال جافا.لقد استخدمت Watij وHTMLunit وما إلى ذلك.ولكن نظرًا لعدم معرفتي بأي من هذه الأمور، لم أتمكن من تسجيل الدخول بنجاح.

هل يمكن لأحد أن يخبرني بالتفصيل عن كيفية تسجيل الدخول عبر Java

لكي أكون أكثر تحديدًا، أريد تسجيل الدخول إلى ORKUT وأريد مصدر الصفحة للصفحة التي تأتي بعد تسجيل الدخول.

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

المحلول

أفضل فرصك للقيام بمثل هذه الأشياء والبقاء على قيد الحياة في شبكة الإنترنت في العالم الحقيقي هي مع Selenium-RC.

في الأساس، ما ستفعله هو التحكم عن بعد في المتصفح الخاص بك للقيام بأي شيء يمكنك القيام به يدويًا (باستثناء تحميل الملفات).

لقد استخدمت هذا النمط عدة مرات:

  1. تسجيل الدخول مع السيلينيوم
  2. خذ ملفات تعريف الارتباط
  3. تابع مع مكتبة HTTP المفضلة لدي.

نصائح أخرى

تعتمد الإجابة على كيفية محاولة موقع الويب لمصادقتك:

  • هل يتعين عليك تعيين اسم مستخدم وكلمة مرور في رؤوس HTTP (المصادقة الأساسية)؟
  • أو هل يتعين عليك ملء وإرسال نموذج يحتوي على اسم المستخدم وكلمة المرور؟

بالنسبة لأي منهما، أوصي بـ commons-httpclient، على الرغم من أن أسلوب تجريف الشاشة الأخير دائمًا ما يكون فوضويًا عند القيام به برمجيًا.

للحصول على المصادقة الأساسية، قم بإلقاء نظرة على httpclient's دليل المصادقة.

لمصادقة النماذج، ستحتاج إلى التحقق من مصدر HTML للصفحة لفهمها

  • عنوان URL الذي تم إرسال النموذج إليه
  • ما هي أسماء المعلمات لتقديمها

للحصول على مساعدة حول كيفية إرسال نموذج في httpclient، قم بإلقاء نظرة على الوثائق على طريقة POST.

يحتوي موقع httpclient أيضًا على ملف البرنامج التعليمي الأساسي.

لماذا أنت تحاول الدخول عن طريق جافا، لماذا لا تستخدم فقط الضفيرة؟ هل هناك شيء محدد كنت تحاول تحقيقه؟

يستخدم Orkut مصادقة Google لتسجيل الدخول.اقتراحي هو استخدام مصحح أخطاء HTTP مثل Fiddler لمراقبة حركة المرور أثناء تسجيل الدخول.من المحتمل أن تكون هناك ملفات تعريف الارتباط وعمليات إعادة التوجيه التي تحتاج إلى تكرارها.

عمومًا،

  1. انظر إلى نموذج تسجيل الدخول، واحصل على أسماء حقل الاسم وكلمة المرور والإجراء الذي ينشره النموذج
  2. قم بإنشاء طلب POST إلى عنوان URL للإجراء وقم بتمرير الاسم وكلمة المرور بشكل صحيح (على سبيل المثال.الاسم = اسم المستخدم وكلمة المرور = pwd)
  3. هل كان هذا HTTPS (تأكد من القيام بذلك بشكل صحيح)
  4. إذا كانت الاستجابة تحتوي على SET-COOKIE في الرأس، فتأكد من إرسال ملف تعريف الارتباط هذا في جميع الطلبات اللاحقة
  5. إذا كانت الاستجابة تحتوي على إعادة توجيه، فقم بإجراء GET لإعادة التوجيه، وأرسل ملفات تعريف الارتباط إذا كان ذلك مناسبًا
  6. (استمر في التكرار على رقم 5 حتى لا تحصل على إعادة توجيه)

الرد الذي تحصل عليه في نهاية هذا هو مصدر الصفحة.

تفقد هذا:

http://code.google.com/apis/gdata/javadoc/com/google/gdata/client/http/AuthSubUtil.html http://code.google.com/p/apex-google-data/source/browse/trunk/google_data_toolkit/src/classes/AuthSubUtil.cls

يبدو وكأنه رمز جوجل للمصادقة مع خدماتهم.

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