سؤال

أملك:

Request request = new Request(Method.GET, "https://www.awebsite.com/login");
Client client = new Client(Protocol.HTTPS);
Response response = client.handle(request);
...
response.getEntity().write(System.out);

لكني لا أعرف كيفية تعيين معلمات تسجيل الدخول ...

أريد رمز ذلك

  • هل الهروب الخ
  • يمكن التبديل بين الحصول/النشر بسهولة

نظرًا لكوني منصة تعتمد على REST، أعتقد أنني قد أحتاج إلى استخدام بعض "تمثيل" المعلمات ولكن هذا يبدو غريبًا بعض الشيء.أعتقد أنه سيكون شائعًا بدرجة كافية لبناء هذا الاستثناء التمثيلي.

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

المحلول

إذا كنت تقصد بـ "معلمات تسجيل الدخول" إرسال بيانات الاعتماد باستخدام مصادقة HTTP الأساسية، لقد تم ذلك باستخدام Request.setChallengeResponse() مثل ذلك:

Request request = new Request(Method.GET, "https://www.awebsite.com/login");
request.setChallengeResponse(new ChallengeResponse(ChallengeScheme.HTTP_BASIC, username, password));

سيعمل هذا مع أي طلب باستخدام أي طريقة HTTP.

ومع ذلك، إذا كان الخادم الذي تحاول المصادقة عليه يتوقع بيانات الاعتماد باستخدام بروتوكول آخر غير Basic HTTP Auth، فسوف تحتاج إلى شرح هذا البروتوكول - على سبيل المثال.هل يستخدم ملفات تعريف الارتباط، والرؤوس، والرموز المميزة، وما إلى ذلك؟

راجع للشغل، قد تحصل على ردود أسرع/أفضل عن طريق النشر على إعادة المناقشة القائمة البريدية؛لقد كنت هناك لمدة عام ونصف، وهو مجتمع رائع.

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