قد يحتاج تطبيق Android إلى عنوان الوكيل الحالي دون أن يملك إعدادات الاتصال. ابدأ بواجهة وكيل الشبكة بدلًا من البحث عن أي عمود في قاعدة البيانات يُسمى user أو password.

يصف إعداد APN الخاص بالهاتف وصول المشغّل. تنتمي حقول الحساب فيه إلى ذلك الإعداد. وهي ليست مخزنًا عامًا لبيانات الاعتماد الخاصة بوكيل HTTP المحدد على Wi-Fi أو على شبكة مُدارة أو على اتصال خاص بتطبيق.

المعلومة المطلوبةالإعداد ذو الصلة
حساب الوصول إلى بيانات المشغّلإعدادات APN، مع قيود الوصول التي تفرضها المنصة
وكيل HTTP الحالي للشبكةConnectivityManager وProxyInfo
تسجيل الدخول الذي يطلبه وكيل محددتدفق المصادقة الذي يدعمه العميل ومصدر الحساب المعتمد

على إصدار مدعوم من Android، يعيد ConnectivityManager.getDefaultProxy() معلومات الوكيل المنطبقة. قد تكون النتيجة غائبة. ويمكن أن يصف ProxyInfo نقطة نهاية مباشرة أو إعداد PAC، لذا افحص شكله قبل التعامل مع كل نتيجة كزوج من المضيف والمنفذ.

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

وهذا يفصل أيضًا الاكتشاف عن الاستخدام. لا يصبح مقبس أصلي أو SDK له نقله الخاص مدركًا للوكيل لمجرد أن التطبيق يستطيع قراءة ProxyInfo. سلّم المسار المختار إلى عميل يدعم بروتوكوله وطريقة مصادقته.

تصف الأمثلة الأقدم التي تستعلم مزوّد محتوى الهاتف إصدارات وأذونات معينة من Android. وهي سياق تاريخي مفيد، لكنها لا تستطيع تحويل حساب APN إلى كلمة المرور المفقودة لوكيل غير مرتبط به.

مقالات ذات صلة