تفقد واعتراض طلبات HTTP الكاملة (بما في ذلك جميع الرؤوس وملفات تعريف الارتباط والجسم) المرسلة من Android WebViews.
هذا المشروع مستوحى من Android-post-Webview و request_data_webviewclient وتم أخذ بعض التعليمات البرمجية من كلا المشروعين.
الخطوة 1. أضف مستودع jitpack إلى ملف الإنشاء الخاص بك:
allprojects {
repositories {
maven { url ' https://jitpack.io ' }
}
}الخطوة 2. إضافة التبعية
dependencies {
implementation ' com.github.acsbendi:Android-Request-Inspector-WebView:1.0.12 '
}احصل على أحدث إصدار على jitpack
لتسجيل الطلبات (الوظيفة الافتراضية):
val webView = WebView ( this )
webView.webViewClient = RequestInspectorWebViewClient (webView)لمعالجة الطلبات يدويًا:
val webView = WebView ( this )
webView.webViewClient = object : RequestInspectorWebViewClient (webView) {
override fun shouldInterceptRequest (
view : WebView ,
webViewRequest : WebViewRequest
): WebResourceResponse ? {
TODO ( " handle request manually based on data from webViewRequest and return custom response " )
return super .shouldInterceptRequest(view, webViewRequest)
}
} لا تتوفر بيانات مفصلة (على سبيل المثال هيئة الطلب) للطلبات المرسلة من IFRAMES لأنه لا يمكن تنفيذ رمز JavaScript في IFRAMES في Android WebViews. أحد الحلول المحتملة التي لا تزال تفتيش الطلبات المرسلة من iframe محددة هي تحميل عنوان URL الخاص به في WebView مختلف وإرفاق RequestInspectorWebViewClient بذلك.
جميع التعليقات ، PRS ، والقضايا موضع ترحيب!
ترخيص معهد ماساتشوستس للتكنولوجيا
انظر الترخيص