تطبيق Discourse Hub المحمول لنظام أندرويد لا يمكنه العثور على الخادم الخاص

خادم Discourse الخاص بي يعمل ويمكن الوصول إليه عبر المتصفح وتطبيق iOS للجوال.

ومع ذلك، على نظام أندرويد، لا يمكن لتطبيق Discourse Hub العثور على الخادم. (يمكنه العثور على خوادم أخرى مثل meta.discourse.org.)

أي فكرة عن سبب فشل هذا؟ هل يمكن أن يكون تطبيق أندرويد للجوال يستخدم وكيل زاحف (crawler agent) مختلفًا للوصول إلى الخادم عن إصدار iOS؟ أو سبب آخر؟

نعم، يقوم تطبيق الهاتف المحمول ببعض الطلبات المحددة لتحديد ما إذا كان عنوان URL هو خادم Discourse.

هناك طلبان:

  • طلب HEAD إلى serverdomain.com/user-api-key/new
  • طلب GET إلى serverdomain.com/site/basic-info.json

إذا لم يُرجع أي منهما بيانات، سيفترض التطبيق أن عنوان URL ليس موقع Discourse.

إعجاب واحد (1)

الأكثر فائدة، @pmusaraj! شكرًا لك. للمتابعة:

1- ينجح طلب GET في الحصول على استجابة، لكن عبارة HEAD تُطلق خطأ “القيمة غير صالحة” (هذا صحيح بالنسبة لـ meta.discourse.org أيضًا، ومع ذلك يمكن لتطبيقي الهاتف المحمول الاتصال بهذه النسخة). كيف يمكنني تعديل الخادم لإنتاج استجابة مناسبة لطلب HEAD؟

2- لماذا ينجح إصدار iOS في اجتياز هذه الاختبارات ويتصل بخادمي؟

إعجاب واحد (1)

آه، هذا مؤشر على أن جانب Discourse على الأرجح بخير، والتحقق من الموقع هو نفسه على iOS و Android.

أتذكر أن بعض إصدارات/أجهزة أندرويد كانت أكثر صرامة مع شهادات SSL، وكان هناك شيء مماثل في الماضي، ولكن منذ وقت طويل: Community not found in App Android Version 7 - #37 by h.vdheurik

إعجاب واحد (1)

على فكرة، قام صديق لي باختبار هذا باستخدام نظام أندرويد قياسي بنفس النتيجة. جهازي هو Pixel 8a يعمل بأحدث إصدار من GrapheneOS.

هل يمكن أن يكون هذا تعارضًا جديدًا في التشفير مشابهًا لما أشرت إليه من عام 2017؟

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

لقد تحققنا من الزواحف. قام الخادم الخاص بي بحظر العديد من الزواحف ويبدو أن أحدها كان يمنع تطبيق الهاتف المحمول من الاتصال. بعد إعادة الضبط إلى إعدادات المصنع، تمكن التطبيق من الاتصال.

بعد ذلك، أضفت OkHttp كزاحف مسموح به الوحيد ولا يزال تطبيق الهاتف المحمول قادرًا على الاتصال. تم تجنب الأزمة. :slight_smile:

شكرًا لـ @pmusaraj على مراجعة كود تطبيق أندرويد والعمل على هذا الحل.

إعجابَين (2)