python3 socks.wrap_module方法 针对单个模块进行代理设置

wrap_module 函数实现:

def wrap_module(module):
    """Attempts to replace a module's socket library with a SOCKS socket.

    Must set a default proxy using set_default_proxy(...) first. This will
    only work on modules that import socket directly into the namespace;
    most of the Python Standard Library falls into this category."""
    if socksocket.default_proxy:
        module.socket.socket = socksocket
    else:
        raise GeneralProxyError("No default proxy specified")

必须先使用set_default_proxy(…)设置认代理。这只在直接将socket导入命名空间的模块上有效;大多数Python标准库都属于这一类

实例如下

def urllib2_SOCKS5_test():
    socks.set_default_proxy(socks.soCKS5,"127.0.0.1",1081)
    socks.wrap_module(urllib2)
    status = urllib2.urlopen("http://api.externalip.net/ip/").getcode()
    assert status == 200

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...