Ứng dụng Android có thể cần địa chỉ proxy hiện tại mà không sở hữu cài đặt kết nối. Hãy bắt đầu từ giao diện proxy mạng thay vì tìm cột cơ sở dữ liệu có tên user hoặc password.

Cấu hình APN của điện thoại mô tả quyền truy cập của nhà mạng. Các trường tài khoản của nó thuộc cấu hình đó. Chúng không phải kho thông tin đăng nhập chung cho proxy HTTP được chọn trên Wi-Fi, mạng được quản lý hay kết nối riêng của ứng dụng.

Thông tin cần thiếtCấu hình liên quan
Tài khoản truy cập dữ liệu của nhà mạngCài đặt APN, cùng các hạn chế truy cập của nền tảng
Proxy HTTP hiện tại của mạngConnectivityManager và ProxyInfo
Đăng nhập mà proxy được chọn yêu cầuLuồng xác thực mà ứng dụng khách hỗ trợ và nguồn tài khoản đã được phê duyệt

Trên phiên bản Android được hỗ trợ, ConnectivityManager.getDefaultProxy() trả về thông tin proxy áp dụng. Kết quả có thể không có. ProxyInfo có thể mô tả điểm cuối trực tiếp hoặc cấu hình PAC, vì vậy hãy kiểm tra hình thức của nó trước khi coi mọi kết quả là cặp máy chủ và cổng.

ProxyInfo không công bố cặp tên người dùng/mật khẩu phổ quát. Nếu dịch vụ được chọn yêu cầu xác thực, hãy lấy tài khoản dự định thông qua cơ chế thông tin đăng nhập mà ứng dụng hỗ trợ. Thử thách proxy và đăng nhập của nhà mạng có thể dùng danh tính hoàn toàn khác nhau.

Điều này cũng tách việc phát hiện khỏi việc sử dụng. Một socket gốc hay SDK có phương thức truyền riêng không trở nên nhận biết proxy chỉ vì ứng dụng đọc được ProxyInfo. Hãy trao tuyến đã chọn cho ứng dụng khách hỗ trợ giao thức và phương thức xác thực của nó.

Các ví dụ cũ truy vấn nhà cung cấp nội dung điện thoại mô tả các bản phát hành và quyền cụ thể của Android. Chúng là bối cảnh lịch sử hữu ích, nhưng không thể biến tài khoản APN thành mật khẩu còn thiếu cho một proxy không liên quan.

Bài viết liên quan