Python论坛  - 讨论区

标题:Re: Re: [python-chinese]读取http页面耗时的问题

2006年03月21日 星期二 16:24

charles huang hyy at fjii.com
Tue Mar 21 16:24:29 HKT 2006

jacob,您好!
	在headers中填“HTTP/1.1”,那在body中填什么?而且执行read()操作时,已经可以将页面打印出来了,感觉应该是已经把页面给GET下来了,不像是只send了一个东西给服务器。而且,计算时间的时候,已经把read()的耗时也加进去了。
	同样的情况,用nagios里面检测http的程序测,一般耗时都在大零点几秒(一般在0.5~0.8)之间,感觉这个还比较真实。而用自己的脚本测,绝大多数都只有零点零几秒,真是怪!
	

======= 2006-03-21 15:27:03 您在来信中写道:=======

>charles huang wrote:
>
>>python-chinese,您好!
>>      写了一段代码,来get一个页面,并计算所耗的时间,可发现每次读取页面所耗的时间都只有零点几秒,有的甚至只有零点零几秒,都怀疑是不是有cache,可httplib的文档里面好像没有提到这点,代码如下:
>>
>>        conn = httplib.HTTPConnection('www.some-domain-name.com')
>>        for j in xrange(3):
>>            try:
>>                time_begin = time.time()
>>                conn.request("GET",'/index.htm')
>>                time_end = time.time()
>>                time_cost = round(time_end - time_begin, 4)
>>	        except:
>>                time.sleep(2)
>>                continue
>>
>>
>>	
>>  
>>
>请阅读httplib.HTTPConnection.request方法的文档.
>这个方法的功能是 "Send a complete request to the server.", 只管发出去就
>成了. 而且你的调用中, 参数body的值是None, headers是{}, 所以干的事情很少.
>你看一下这个方法的实现代码就会明白.
>_______________________________________________
>python-chinese
>Post: send python-chinese at lists.python.cn
>Subscribe: send subscribe to python-chinese-request at lists.python.cn
>Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
>Detail Info: http://python.cn/mailman/listinfo/python-chinese
>

= = = = = = = = = = = = = = = = = = = =
			

        致
礼!
 
				 
        charles huang
        hyy at fjii.com
          2006-03-21


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年03月21日 星期二 16:34

jacob jacob at exoweb.net
Tue Mar 21 16:34:15 HKT 2006

charles huang wrote:

>jacob,您好!
>	在headers中填“HTTP/1.1”,那在body中填什么?而且执行read()操作时,已经可以将页面打印出来了,感觉应该是已经把页面给GET下来了,不像是只send了一个东西给服务器。而且,计算时间的时候,已经把read()的耗时也加进去了。
>	同样的情况,用nagios里面检测http的程序测,一般耗时都在大零点几秒(一般在0.5~0.8)之间,感觉这个还比较真实。而用自己的脚本测,绝大多数都只有零点零几秒,真是怪!
>	
>  
>
你看看自己的代码:

               time_begin = time.time()
>>                conn.request("GET",'/index.htm')
>>                time_end = time.time()
time_begin和time_end之间哪来的read? :-)
你在后面执行read,python不会聪明的理解你其实是希望把read放在time_end之前的意图的.;-)


>======= 2006-03-21 15:27:03 您在来信中写道:=======
>
>  
>
>>charles huang wrote:
>>
>>    
>>
>>>python-chinese,您好!
>>>     写了一段代码,来get一个页面,并计算所耗的时间,可发现每次读取页面所耗的时间都只有零点几秒,有的甚至只有零点零几秒,都怀疑是不是有cache,可httplib的文档里面好像没有提到这点,代码如下:
>>>
>>>       conn = httplib.HTTPConnection('www.some-domain-name.com')
>>>       for j in xrange(3):
>>>           try:
>>>               time_begin = time.time()
>>>               conn.request("GET",'/index.htm')
>>>               time_end = time.time()
>>>               time_cost = round(time_end - time_begin, 4)
>>>	        except:
>>>               time.sleep(2)
>>>               continue
>>>
>>>
>>>	
>>> 
>>>
>>>      
>>>
>>请阅读httplib.HTTPConnection.request方法的文档.
>>这个方法的功能是 "Send a complete request to the server.", 只管发出去就
>>成了. 而且你的调用中, 参数body的值是None, headers是{}, 所以干的事情很少.
>>你看一下这个方法的实现代码就会明白.
>>_______________________________________________
>>    
>>


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号