Android WebView: طبّق تجاوز الوكيل قبل التنقل
استخدم فحص الميزات واستدعاء الإكمال في AndroidX WebKit، واحسب حساب التجاوز المشترك بين WebViews في عملية واحدة.
ينبغي أن يبدأ التنقل الذي يعتمد على تجاوز وكيل WebView بعد تشغيل مستمع إكمال التجاوز. فتعيينه ثم تحميل صفحة فورًا يترك العملية في سباق مع تحديث غير متزامن.
- تحقّق من
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). يعتمد الدعم على تنفيذ WebView ومكتبة AndroidX WebKit وعلى مستوى API في Android. حدّد ما يحدث عند غيابه؛ فالانتقال المباشر بصمت قد يبطل الميزة. - ابنِ
ProxyConfigالمطلوب باستخدام قواعد الوكيل الموثّقة وصيغة نقطة النهاية وسلوك التجاوز. للتنقل المسموح به إلى المواقع العامة، اختر مرشحًا من قائمة الوكلاء المجانية يطابق بروتوكوله قاعدة يدعمها تنفيذ WebView ذلك. فعنوان PAC ومعرّف SOCKS والمضيف المجرد مدخلات مختلفة. - استدعِ
ProxyController.setProxyOverride()بذلك التكوين ومُنفّذ ومستمع إكمال. ابدأ التنقل التابع من مسار الإكمال. - عند انتهاء التجاوز المؤقت، امسحه بـ
clearProxyOverride()وعالِج إكماله غير المتزامن أيضًا.
أعطِ دورة الحياة هذه مالكًا واحدًا. ينطبق الإعداد على WebViews في كل عملية التطبيق؛ وتغييره مرارًا لا يمنح عرضين متزامنين مخارج مستقلة. للعمليات الأخرى ومكتبات HTTP مساراتها الخاصة.
تتجنب هذه الواجهة المدعومة الاعتماد على مستمعات تغيير الوكيل الخاصة التي تختلف بين إصدارات Android. فهي تختار التوجيه؛ أما بيانات اعتماد الوكيل وثقة الشهادات فما زالت تستخدم آلياتها المدعومة. ويجب تشخيص فشل المصادقة أو TLS بعد الاختيار في تلك المرحلة.