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

yipeiwu_com7年前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了,一切都会悄悄地通过代理出去的~

相关文章

python通过urllib2爬网页上种子下载示例

通过urllib2、re模块抓种子 思路 1.用程序登录论坛(如果需要登录才能访问的版块) 2.访问指定版块 3.遍历帖子(先取指定页,再遍历页面所有帖子的url) 4.循环访问所有帖子...

Python3使用pandas模块读写excel操作示例

本文实例讲述了Python3使用pandas模块读写excel操作。分享给大家供大家参考,具体如下: 前言 Python Data Analysis Library 或 pandas 是...

浅谈python脚本设置运行参数的方法

浅谈python脚本设置运行参数的方法

正在学习Django框架,在运行manage.py的时候需要给它设置要监听的端口,就是给这个脚本一个运行参数。教学视频中,是在Eclipse中设置的运行参数,网上Django大部分都是在...

Python实现K折交叉验证法的方法步骤

学习器在测试集上的误差我们通常称作“泛化误差”。要想得到“泛化误差”首先得将数据集划分为训练集和测试集。那么怎么划分呢?常用的方法有两种,k折交叉验证法和自助法。介绍这两种方法的资料有很...

解决matplotlib库show()方法不显示图片的问题

最近使用python里的matplotlib库绘图,想在代码结束时显示图片看看,结果图片一闪而过,附上我原来代码: import matplotlib.pyplot as plt i...