之前看到geventhttpclient这个项目,https://github.com/gwik/geventhttpclient,官方文档说非常快,由于响应使用了C的解析,所以我一直想把这玩意用到项目中,
这两天一直在纠结这玩意,说实在一句话,比较难用,封装的不给力,最大缺陷如下:
1.不支持重定向,重定向需要自己来写,很费事
2.新建的httpclient对象只能发送同域名的请求
这相当的蛋疼,我花了一点时间封装了一下,解决了上面的两个问题,还增加了自动编解码问题,代码如下:
#!/usr/bin/env python
#-*-encoding:UTF-8-*-
import re
from geventhttpclient.url import URL
from geventhttpclient.client import HTTPClient,HTTPClientPool
from urlparse import urljoin
#from core.common import urljoin
HEADERS = {
'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0'
}