游客发表
Android设置代理这事儿,置代说简单也简单,置代说坑也坑。置代我见过不少人卡在“能连上Wi-Fi但死活打不开网页”的置代怪圈里,最后发现是置代代理填错了格式——端口写成了字符串,或者IP地址多打了个空格。置代
先别急着进设置。置代你得搞清楚自己到底要干嘛。置代是置代调试接口抓包?还是翻墙访问特定服务?又或者只是公司内网要求走固定网关?不同目的,设置路径完全不一样。置代全局代理和Wi-Fi单独代理是置代两码事,别混为一谈。置代
最直接的置代方法,打开“设置” → “WLAN” → 长按当前连接的置代Wi-Fi网络 → 选“修改网络” → 勾选“显示高级选项” → 把“代理”从“无”改成“手动”。这时候会弹出主机名和端口两个输入框。置代主机名填IP地址,比如192.168.1.100,端口填数字,比如8080。注意,别带http://前缀,那是浏览器用的,这里只要裸IP和端口。
填完保存,立刻生效。但有个坑——部分国产ROM会把这个入口藏得深。小米在“WLAN”里点当前网络旁边的箭头,然后选“代理设置”;华为有些版本得进“更多连接”才能看到。找不到就搜索“代理”关键词,系统设置里一般都有搜索功能。
如果你用的是Charles或Fiddler这类抓包工具,还得额外装证书。光设代理不够,HTTPS流量会报证书错误。这时候你得在手机浏览器里访问抓包工具的下载地址,安装CA证书。Android 7.0以上系统默认不信任用户证书,要么把应用改成debug模式,要么用adb把证书推到系统目录——那是另一个复杂话题,这里先埋个伏笔。
有人会问,那全局代理呢?Android原生系统其实没有全局代理开关,除非你root后改iptables,或者用VPN方案。普通用户想全局走代理,最省事的办法是装个代理客户端App,比如Postern或Drony,它们会创建本地VPN,把流量转发到你的代理服务器。这类工具原理都一样:你填好远程代理地址,它在你手机上开一个虚拟网卡,所有流量先经过它再出去。
还有个细节容易被忽略。如果你设置了代理但发现某些App不走它,别奇怪——那些App可能用了系统API之外的网络请求,或者它们自己内置了代理检测。游戏和银行类应用尤其常见。这时候你得用“强制全局”模式的工具,但代价是部分应用会闪退或无法登录,因为它们检测到了代理环境。
最后说个逆向思维的例子。有一次我帮朋友排查网络问题,他坚持说公司Wi-Fi需要代理才能上网,但填了代理后微信能用,浏览器却打不开网页。我看了下他填的代理地址,是公司内网的一个HTTP代理,但浏览器被设置了“仅对局域网使用代理”,而DNS解析还在走Wi-Fi的默认网关。解决办法很简单——在代理设置里把“绕过代理”的列表清空,或者把Wi-Fi的DNS改成8.8.8.8。问题立刻消失。
代理设置本身不复杂,复杂的是搞清楚流量走向。你填的每一行配置,背后都是数据包在跳来跳去。下次再遇到“设了代理没反应”,先检查三件事:IP和端口是否拼错、代理服务器是否真的存活、App是否强制不走系统代理。这三关过了,基本没有解决不了的问题。
友情链接