当前位置: 首页 > 工具软件 > httplib2 > 使用案例 >

python3使用httplib2访问REST服务数据

汪信鸥
2023-12-01
import time
import httplib2
import json
from urllib.parse import urlencode

cur_time = time.time()*1000-i*60*60*1000        #获取当前时间毫秒
pre_time = cur_time-60*60*1000+1000             #获取1小时前时间毫秒
    
url = 'http://127.0.0.1:8086/influxdb/api/v1/qdata' #URL链接
body = {"ip":"127.0.0.1",
            "startms":int(pre_time),
            "endms":int(cur_time), #连接串,int(cur_time)时间不能出现小数
            "index":"CPU idle time"}

headers = {"X-DIATUH-USER":"1234567890",
               "Content-type":"application/json"}#头
con = httplib2.Http()
response, content = con.request(url,"POST",headers=headers, body=json.dumps(body_cpu))#对应于body数据,如果response.status==20则说明获取数据成功,如果等于400,则获取失败
content = json.loads(content_cpu) #把content数据转化为dict类型
#把获取到的数据转化为DataFrame
df = pd.DataFrame(data=content['results'][0]['series'][0]['values'],columns=content['results'][0]['series'][0]['columns'])
#把时间转化为日期格式
date_time = []
for i in range(len(df)):
    temp_time = content['results'][0]['series'][0]['values'][i][0]/1000 #不除以1000转化失败,要求为秒才可以转化
    #把毫秒时间转化为正常日期时间
    temp_time = time.localtime(temp_time)
    temp_time = time.strftime("%Y-%m-%d %H:%M:%S", temp_time) 
    date_time.append(temp_time)
df['time']=date_time

 类似资料: