اعتبارنامههای APN اندروید و Network ProxyInfo اهداف متفاوتی دارند
پیکربندی پروکسی شبکه را از طریق رابطهای پشتیبانیشده اندروید بخوانید و اعتبارنامههای دسترسی اپراتور را از حساب پروکسی HTTP جدا نگه دارید.
یک برنامه اندروید میتواند به آدرس پروکسی فعلی نیاز داشته باشد بدون آنکه تنظیمات اتصال را در اختیار داشته باشد. بهجای جستوجوی ستونی در پایگاه داده به نام user یا password، از رابط پروکسی شبکه شروع کنید.
پیکربندی APN تلفنی دسترسی اپراتور را توصیف میکند. فیلدهای حساب آن به همان پیکربندی تعلق دارند. آنها انبار عمومی اعتبارنامه برای پروکسی HTTP انتخابشده در Wi-Fi، شبکه مدیریتشده یا اتصال خصوصی یک برنامه نیستند.
| اطلاعات مورد نیاز | پیکربندی مربوطه |
|---|---|
| حساب دسترسی داده اپراتور | تنظیمات APN، با محدودیتهای دسترسی پلتفرم |
| پروکسی HTTP فعلی شبکه | ConnectivityManager و ProxyInfo |
| ورودی که پروکسی انتخابشده میخواهد | جریان احراز هویتی که کلاینت پشتیبانی میکند و منبع حساب تأییدشده |
در نسخهای پشتیبانیشده از اندروید، ConnectivityManager.getDefaultProxy() اطلاعات پروکسی قابل اعمال را برمیگرداند. نتیجه میتواند غایب باشد. یک ProxyInfo میتواند نقطه پایانی مستقیم یا پیکربندی PAC را توصیف کند، پس پیش از آنکه هر نتیجه را جفت میزبان و درگاه بدانید، شکل آن را بررسی کنید.
ProxyInfo جفت سرتاسری نام کاربری/گذرواژه ارائه نمیدهد. اگر سرویس انتخابشده احراز هویت بخواهد، حساب موردنظر را از طریق سازوکار اعتبارنامه پشتیبانیشده برنامه به دست آورید. یک چالش پروکسی و ورود اپراتور میتوانند هویتهای کاملاً متفاوتی داشته باشند.
این کشف را نیز از استفاده جدا میکند. یک سوکت بومی یا SDK با انتقال خودش تنها به این دلیل که برنامه میتواند ProxyInfo را بخواند، پروکسیآگاه نمیشود. مسیر انتخابشده را به کلاینتی بدهید که پروتکل و روش احراز هویت آن را پشتیبانی میکند.
نمونههای قدیمیتر که از ارائهدهنده محتوای تلفنی پرسوجو میکنند، نسخهها و مجوزهای خاصی از اندروید را توصیف میکنند. آنها زمینه تاریخی مفیدی هستند، اما نمیتوانند یک حساب APN را به گذرواژه گمشده یک پروکسی نامرتبط تبدیل کنند.