干货!编写Python代码设置各平台下代理配置

在这里插入图片描述
今天码哥带来的是用Python代码设置各个平台下socks5代理配置的方法。

由于网上各平台设置的文章较为分散,且有个别平台设置时存在一些坑,因此码哥决定写一篇汇总文章便于他人参考。

声明:本文不是讲解socks5代理服务实现的,而仅是展示在Windows、Linux、OSX下如何使用代码设置socks5配置。

有时,一些桌面程序可能需要用到代理配置功能,例如企业内部一些工具软件访问公司内部资源,此时需要将本机该软件的流量打到公司指定内部服务上。

很显然,我们日常使用桌面系统时,是可以手工设置代理配置的。但是如果一款软件还需要用户手工去设置,就会增加使用者的学习难度,降低软件的用户体验,因此开发者会有需求知道如何用代码来修改设置。

本文仅以Python为例进行讲解,由于Python库的实现特点,其库函数接口与C版本接口原型几乎保持了一致,因此也有助于C/C++开发人员来借鉴。

下面我们逐个平台给出示例。由于设置代理的方式有很多种,码哥没有逐个试过一遍,因此仅给出尝试过的可行方案:

OSX(Mac)

import os
#打开代理
os.popen('networksetup -setsocksfirewallproxy "Wi-Fi" SOCKS5_PROXY_IP SOCKS5_PROXY_PORT').close()
#关闭代理
os.popen('networksetup -setsocksfirewallproxystate "Wi-Fi" off').close()

其中,SOCKS5_PROXY_IP是代理的IP地址,SOCKS5_PROXY_PORT是代理的端口。

Mac上实际上是通过命令行方式进行设置的,OSX中有一个名为networksetup的工具可以用来设置代理。

Linux

import os
#打开代理
os.popen('gsettings set org.gnome.system.proxy mode "manual"').close()
os.popen('gsettings set org.gnome.system.proxy.socks host "SOCKS5_PROXY_IP"').close()
os.popen('gsettings set org.gnome.system.proxy.socks port SOCKS5_PROXY_PORT'.format(conf.LISTENPORT)).close()
os.popen('gsettings set org.gnome.system.proxy ignore-hosts "IGNORED_IPs"'.format(ignore))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码哥比特

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值