python geventhttpclient测试

计划移植一个无阻塞python的服务框架.

首先要解决http client的使用.

Gcurl已经多年无人维护.

geventhttpclient这个号称比urllib2+gevent monkey快一倍.

先简单试试.

#!/bin/env python
# -*- coding: gbk -*-
#使用pool

import gevent
import gevent.pool
from geventhttpclient import HTTPClient
from geventhttpclient.url import URL

def robot(urls):
	#url = URL('http://www.baidu.com/')
	url=URL(urls)
	http = HTTPClient(url.host)

	# issue a get request
	response = http.get(url.request_uri)

	# read status_code
	#response.status_code
	print 'status_code(%s) is %s.' % (urls,response.status_code)

	# read response body
	#body = response.read()
	#print 'body is %s.' % body

	# close connections
	http.close()

def runit(n=2):
	#创建节点(协程)
	#coros=range(1,n)
	pool = gevent.pool.Pool(n)
	urls=('http://www.baidu.com','http://www.taobao.com','http://www.sina.com.cn');
	for j in xrange(1,n):
		#coros[j-1] =  gevent.spawn(robot, urls[j-1])
		pool.spawn(robot, urls[j-1])
	#gevent.joinall(coros)
	pool.join()
	
if __name__ == "__main__":
    runit(n=4)



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值