在Python中,有没有办法通过ICMP ping服务器,如果服务器响应则返回TRUE,如果没有响应则返回FALSE?
基本代码是:
__PRE__
我怎么能ping一个网站或地址?
我想收集与Web请求的每个阶段需要多长时间相关的统计信息.httplib提供:
Run Code Online (Sandbox Code Playgroud)def run(self): conn = httplib.HTTPConnection('www.example.com') start = time.time() conn.request('GET', '/') request_time = time.time() resp = conn.getresponse() response_time = time.time() conn.close() transfer_time = time.time() self.custom_timers['request sent'] = request_time - start self.custom_timers['response received'] = response_time - start self.custom_timers['content transferred'] = transfer_time - start assert (resp.status == 200), 'Bad Response: HTTP %s' % resp.status
这些统计数据是否来自更高级别的界面urllib2?是否有提供此类统计数据的高级图书馆?
这是一个加载url并捕获响应时间的python脚本:
import urllib2
import time
opener = urllib2.build_opener()
request = urllib2.Request('http://example.com')
start = time.time()
resp = opener.open(request)
resp.read()
ttlb = time.time() - start
Run Code Online (Sandbox Code Playgroud)
由于我的计时器包裹在整个请求/响应(包括read()),这将给我TTLB(时间到最后一个字节).
我还想获得TTFB(第一个字节的时间),但我不知道从哪里开始/停止我的计时.urllib2是否足以让我添加TTFB计时器?如果是这样,他们会去哪里?