Android的proxy混淆文档资源

标签 android http proxy android-wifi

在我看来,关于 Android 上的代理主题有很多令人困惑的资源。

首先,似乎Proxy class的所有方法已被宣布弃用,建议:

"Use standard java vm proxy values to find the host, port and exclusion list. This call ignores the exclusion list."

官方java vm proxy values可以通过以下方式访问:

System.getProperty("http.proxyHost")
System.getProperty("http.proxyPort")
System.getProperty("http.nonProxyHosts")

ProxySelector class 的文档似乎证实了这一点.

但是在真实设备或模拟器上尝试时,这些值在我看来总是空的。查看隐藏ProxySelector activity的Android源代码后, 似乎代理以以下方式保存到系统的安全设置中:

Settings.Secure.putString(res, Settings.Secure.HTTP_PROXY, hostname);

并且只有操作系统提供商签名的应用程序才能写入安全设置。开发人员只能通过以下方式在读取模式下访问这些设置:

Settings.Secure.getString(getApplicationContext().getContentResolver(),Settings.Secure.HTTP_PROXY);

有人可以澄清这是否是关于如何访问 Android 的代理设置的正确解读? (至少它似乎有效)。如果这是正确的解释,为什么文档中错误百出?

最佳答案

要获取代理值,访问系统属性应该可行;没有必要访问安全设置。如果您无法使用系统属性来读取通过普通设备 UI 进行的代理设置,则说明存在问题。代理是按网络类型划分的,因此 APN 和 WiFi 将具有单独的代理设置。

关于Android的proxy混淆文档资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332522/

相关文章:

android - 广告合并?

Android Wear 应用程序未显示在 watch 的 "Start..."菜单中

http - 渐进式下载标准

javascript - 使用 javascript 从 iframe src 读取 http 响应

java - 如何在小程序中设置Http Proxy

web-services - 为什么常见的 Web 服务客户端使用代理

android - 在 Android 中使用 SDK 3.5 从 FriendPickerFragment 获取 Facebook 好友列表

Android Activity - 背景可绘制动画

ios - Angularjs http.jsonp iOS9 404

java - 如何为 Java 配置代理设置?