记录一个复杂的代理ip切换方式

a文件传入代理ip相关参数给b文件

c文件接受代理IP,使用代理IP和切换代理IP,且不必再通过c文件传入配置参数。

使用partial函数+全局代理ip方式实现。根据自己的代码需求修改为自己需要的形式即可。代码只是展示简单的实现原理

a.py

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import b
import c


config = {
    "type":None
}
b.func_userA.keywords['config'] = config
b.proxy(config,switch=True)
#b.fun_A.keywords['switch']=True
#b.fun_A.__call__()
print("a文件里的{}".format(b.proxy_ip))
print(c.run())

b.py处理代理ip相关功能

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import random
from functools import partial
proxy_ip =''
def proxy(config, switch=False):

    # config设置代理IP配置,通过控制中心传入
    # switch,设置是否更新代理ip,如果代理ip获取错误就更新一次
    #print(f"当前配置为:{config}")
    global proxy_ip
    if switch:
        #模拟更换代理IP
        #print("模拟更换ip")
        proxy_ip ='127.0.01.{}'.format(random.randint(1,255))
func_userA = partial(proxy, config=dict, )


c.py代理ip的使用和切换,用于curl.py文件

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import b
def run():
    print("b-proxy-ip-1:{}".format(b.proxy_ip))
    for i  in range(10):
        print("{}b-proxy-ip-2:{}".format(i,b.proxy_ip))
        if i%2==0:
          b.func_userA(switch=True)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值