使用docker创建http代理环境

proxyenv的Python项目详细描述


这是一个python模块,它启动 Squid在Docker中运行的代理 容器,并设置使用此代理处理 来自python代码和外部程序的http请求。这个 目的主要是在需要 HTTP请求。代理既支持http和https,也支持basic 代理授权。

使用现有的HTTP代理< /H2>

如果已经在http_proxy环境变量中设置了代理, 新创建的SQUID代理仍将使用现有的工作。 代理为“缓存对等”。如果不需要,请删除http_proxy 在启动临时代理之前从环境中。

用法

from proxyenv.proxyenv import ProxyFactory
proxyfact=ProxyFactory()

# Example for using urllib
from six.moves.urllib import request
with proxyfact() as proxy:
    opener  = request.build_opener(proxy.get_handler)
    opener.open(url)

# Example for starting external program with proxy-related environment
# variables
from subprocess import check_output
with proxyfact(user="johndoe:secret", port=3077) as proxy:
    check_output(["/usr/bin/wget", url])

请使用proxyenv/proxyenv.py中的main程序作为 其他文件来源。

proxyev脚本

该包还包含控制台脚本proxyenv

usage: proxyenv [-h] [-p PORT] [-u USER] [-i IMPL] [-s] [-w] [-v]
                [URL [URL ...]]

positional arguments:
  URL                   an URL to retrieve

optional arguments:
  -h, --help            show this help message and exit
  -p PORT, --port PORT  proxyport to use (default: 3128)
  -u USER, --user USER  proxy user in user:password format
  -i IMPL, --impl IMPL  set implementaton (cmdline or api, default: api)
  -s, --shell           open a shell in new environment
  -w, --wait            wait for input
  -v, --verbose         verbose output

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java关闭到DB的连接不会关闭所有连接   java如何跟踪eclipse中编译错误的错误?   java设计/实现。。。最有可能使用AJAX   java无法从SharedReference获取数据   在java中,用|将印地语段落串成   java以编程方式在单击时创建微调器工作   java对如何完成新程序的困惑?   java停止httpConnection blackberry超时   java为什么继承的静态变量可以被子类的非静态方法访问?   java Spring安全性通过控制器进行身份验证   java类继承和泛型类型   创建票证服务时CAS重定向上的java错误   使用java的sockets对等应用程序