使用 Volley 發起 POST 請求,其他手機均正常返回 JSON,唯獨小米 4(移動卡)返回 404 HTML 頁面。經測試:
中國移動部分省份對非認證域名/接口進行 HTTP 劫持或攔截,返回運營商廣告頁或錯誤頁,導致 404。這屬於運營商網絡層行為,App 層難以繞過。
if (response.headers().get("Content-Type").contains("text/html")) {
// 疑似被劫持,拋出自定義異常或降級處理
throw new NetworkHijackException("疑似運營商劫持,響應為 HTML");
}
此類問題屬於基礎網絡環境問題,根治需依賴 HTTPS 推廣與運營商監管。開發者應做好降級體驗與用戶引導。