在python中的socket模块使用代理实例

yipeiwu_com5年前Python基础

说socket代理之前,先来说说http代理,python的urllib2是自带http代理功能的,可以用如下代码实现:

复制代码 代码如下:

proxy_handler = urllib2.ProxyHandler({'http' : 'http://地址:端口'})
opener = urllib2.build_opener(proxy_handler, urllib2.HTTPHandler)
urllib2.install_opener(opener)

如此,接下来用urllib2来urlopen的时候,就会自动使用这个代理了。

但是,在我们疯狂的天朝,有时候,http代理并不能满足要求,也许你还想使用更底层的socket代理,于是python里似乎就没有直接的方法了(python3不知道有没有内置,未研究)。这时候,你可能需要这个包:SocksiPy – A Python SOCKS module,下载解压以后,除了文档也就一个 socks.py 文件,很方便使用,给出示例代码:

复制代码 代码如下:

import socks, socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "地址", 端口)
socket.socket = socks.socksocket

接下来,你就可以照常使用socket了,一切都会悄悄地通过代理出去的~

相关文章

Flask SQLAlchemy一对一,一对多的使用方法实践

Flask-SQLAlchemy安装和建表操作请参考这里。 复制代码 代码如下:# Role表class Role(db.Model):    id=db...

tesserocr与pytesseract模块的使用方法解析

1.tesserocr的使用 #从文件识别图像字符 In [7]: tesserocr.file_to_text('image.png') Out[7]: 'Python3WebSp...

Django代码性能优化与Pycharm Profile使用详解

Django代码性能优化与Pycharm Profile使用详解

前言 pycharm是python的一个商业的集成开发工具,本人感觉做python开发还是很好用的,django是一个很流行的python web开源框架,本文将通过实例代码给大家介绍了...

Windows平台Python连接sqlite3数据库的方法分析

本文实例讲述了Windows平台Python连接sqlite3数据库的方法。分享给大家供大家参考,具体如下: 之前没有接触过sqlite数据库,只是听到同事聊起这个。 有一次,手机端同事...

Python语言检测模块langid和langdetect的使用实例

之前使用数据编码风格检测的模块chardet比较多一点,今天提到的两个模块是检测数据的语言类型,比如是:中文还是英文,模块的使用方法也比较简单,我这里只是简单地使用了一下,因为项目中有这...