Skip to content

Kalamazoo-cpu/ApiProxy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

快捷使用

安装库

  • pip install ApiProxy

编译库

  • python ./setup.py sdist bdist_wheel
  • pip install .\ApiProxy-1.0-py3-none-any.whl

上传库

  • twine upload dist/*

卸载库

  • pip uninstall ApiProxy

场景1-设置dp代理,支持socks代理

from DrissionPage import ChromiumPage,ChromiumOptions

from ApiProxy import Proxy

a=Proxy(8993,8996)

data=a.setproxyIp("http://183.158.146.144:40023")

proxyurl=data["url"]

print("proxyurl:",proxyurl)

co=ChromiumOptions()

co.set_proxy(proxyurl)

page=ChromiumPage(addr_or_opts=co)

page.get("https://www.baidu.com")

input("等待输入")

场景2-使用dp动态代理切换,支持socks代理

from DrissionPage import ChromiumPage,ChromiumOptions
from ApiProxy import Proxy
a=Proxy(8993,8996)
data=a.setproxyIp("http://183.158.146.144:40023")
proxyurl=data["url"]
print("proxyurl:",proxyurl)
co=ChromiumOptions()
co.set_proxy(proxyurl)
page=ChromiumPage(addr_or_opts=co)
page.get("https://www.ip138.com")
input("第一次切换ip")
# 再次切换代理
a.switchproxyIp("http://49.87.97.136:40007")
page.get("https://www.ip138.com")
input("第二次切换ip")

打包避坑指南(二选一)

  • 使用PyInstaller的add_data参数,将dependencies依赖文件打包进去,否则无法使用proxy.py中的代码
  • 编辑打包的spec文件,将datas字段赋值如下:datas = [('dependencies','dependencies')] ,第二个dependencies填写本库的依赖文件夹路径

接下来计划

  • 重构apiproxy,使apiproxy支持代理链,sock5代理,全局上游代理,动态更换代理,以及对指定url进行切换代理
  • 支持tls随机指纹
  • 支持整个代理端的所有接口监听,比起dp原生监听不会存在多个嵌套页面接口漏的情况

About

Provide dynamic proxy capabilities for py, supporting socks, socks5, http and other formats of URL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%