您的位置:首页 > 教育 > 锐评 > 网站建设报价新鸿儒_网站页面怎么设计_站长工具之家seo查询_青岛 google seo

网站建设报价新鸿儒_网站页面怎么设计_站长工具之家seo查询_青岛 google seo

2025/3/13 3:31:26 来源:https://blog.csdn.net/qq_41688840/article/details/146147846  浏览:    关键词:网站建设报价新鸿儒_网站页面怎么设计_站长工具之家seo查询_青岛 google seo
网站建设报价新鸿儒_网站页面怎么设计_站长工具之家seo查询_青岛 google seo

Android配置whistle手机代理,为了避免频繁自己手动去WiFi代理输入私有IP地址,特地建了一个Python脚本来帮助一键配置好代理,解除代理。

原始配置流程手续:

  1. 需要打开http://127.0.0.1:8899/ 查看whistle的IP和端口号
  2. 需要打开手机WiFi代理,输入上述的IP和端口号
  3. 如果清除代理,需要再次打开WiFi代理,取消代理

现在的配置流程手续:

  1. 直接输入下述命令即可设置代理
    python proxy.py set
  2. 直接输入下述命令即可清除代理
python proxy.py clear

proxy.py文件代码如下,主要核心也就是用Python模拟发送adb命令去控制代理。省掉了自己打开WiFi输入IP地址的过程。 

import subprocess
import re
import sysdef get_whistle_ip_port():try:# 获取 whistle 的状态输出result = subprocess.run(['w2', 'status'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)output = result.stdout.decode('utf-8').strip()# 打印原始输出以便调试print("Whistle output:", output)# 使用正则表达式从输出中提取非127.0.0.1的IP地址和端口号ip_match = re.search(r'http://(?!127\.0\.0\.1)([\d.]+):(\d+)/', output)if ip_match:ip = ip_match.group(1)port = ip_match.group(2)return ip, portelse:print("Could not parse external IP and port from whistle output.")except Exception as e:print(f"Failed to get whistle config: {e}")return None, Nonedef set_android_wifi_proxy(ip, port):try:# 通过ADB连接设备并设置WiFi代理subprocess.run(['adb', 'shell', 'settings', 'put', 'global', 'http_proxy', f"{ip}:{port}"])print(f"Proxy set to {ip}:{port} successfully.")except Exception as e:print(f"Failed to set proxy on Android device: {e}")def clear_android_wifi_proxy():try:# 通过ADB连接设备并清除WiFi代理设置subprocess.run(['adb', 'shell', 'settings', 'put', 'global', 'http_proxy', ':0'])print("Proxy cleared successfully.")except Exception as e:print(f"Failed to clear proxy on Android device: {e}")def main(action):if action == 'set':ip, port = get_whistle_ip_port()if ip and port:set_android_wifi_proxy(ip, port)else:print("Could not retrieve whistle IP and port.")elif action == 'clear':clear_android_wifi_proxy()else:print("Invalid action. Use 'set' to set proxy or 'clear' to clear proxy.")if __name__ == "__main__":if len(sys.argv) != 2:print("Usage: python script.py [set|clear]")else:main(sys.argv[1])

python proxy.py set

运行之后,如下所示: 

python proxy.py clear

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com