【发布时间】:2020-09-30 04:24:34
【问题描述】:
我创建了自己的函数,我导入了时间戳,它返回两个值:
from requests.auth import HTTPBasicAuth
import requests
import json
def timeframe():
response = requests.get("https://$host/api/profiler/1.13/reporting/timestamps.json", verify=False, auth=HTTPBasicAuth("admin", "admin"))
time = response.json()
for entry in time:
if entry.get('data_resolution') == 'min':
if entry.get('datasource') == 'FDS_TRAFFIC':
start_time = entry['start_time']
end_time = entry['end_time']
return start_time, end_time
timeframe()
我需要为 json 正文请求中的键添加时间戳,您将看到“结束”和“开始”键。我需要检索这些时间戳并以某种方式将它们添加到这些键中。
import requests
import timestamp
from requests.auth import HTTPBasicAuth
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
stamp = timestamp.timeframe()
print(stamp)
url = 'http://10.65.170.112/api/profiler/1.12/reporting/reports'
headers = {'Content-Type': 'application/json'}
payload = {
"criteria": {
"time_frame": {
"start": str(stamp[0]),
"end": str(stamp[1]),
"resolution": "flow"
},
"query": {
"realm": "traffic_flow_list",
"sort_column": 41,
"devices": [
{
"ipaddr": "10.65.170.2"
}
],
"group_by": "flw",
"columns": [
729,
40,
41,
14,
44,
10,
45,
46
]
}
},
"template_id": 184
}
req = requests.post(url, headers=headers, data = payload, verify=False, auth=HTTPBasicAuth('admin', 'admin'),)
print(req.status_code, req.text)
不知道该怎么办。
谢谢
【问题讨论】:
-
您的问题到底是什么?你能解释一下你想做什么吗?
-
@komatiraju032 您会在正文中看到“结束”和“开始”需要提交数据,这是一个 POST 请求,您也会看到我导入时间戳(这是确切的时间我需要填写的印章)不确定我该如何适应,该功能对身体
-
你可以试试
"end": timestamps[1]和"start": timestamps[0] -
@komatiraju032 谢谢伙计,但它没有用,我的意思是我得到 HTTP 200 说明它不接受该值,所以当它返回响应时我没有得到我想要的。
-
timestamp.timeframe()的输出是什么