问题描述
我正在做一个项目,我需要使用 curl json.dumps 将数据插入到服务器,这些数据将存储在 unix 服务器上的记事本中。下面是我的代码。
import getpass
import datetime
import json
staffid = getpass.getuser()
machine = socket.gethostname()
Now = datetime.datetime.Now()
cmdlist = ['curl','-k','-X','POST','-H','Content-Type: application/json','Authorization: Basic XXXX','-d','http://XXX.XX.XX:5002/data']
UserData={}
UserData["Staffid"]=staffid
UserData["Machine"]=machine
UserData["Today"]=Now
cmdlist.insert(-1,json.dumps(UserData))
pipe=Popen(cmdlist,stdin=PIPE,stdout=PIPE,stderr=PIPE,shell=True)
curl 工作正常,可以在记事本中加载人员和机器,但我在加载“Now”变量时出错。
"POST /data HTTP/1.1" 500 -
我尝试将变量转换为下面的值。
date_time=Now.strftime("%m%d%Y %H,%M,%s")
但还是出现同样的错误。是否有解决方案将当前日期时间添加为 json 允许输入的变量。
更新:
大家好, 我尝试将日期时间转换为字符串并尝试作为数据加载,它实际上允许输入。
更新以下代码供您参考。
import getpass
import datetime
import json
staffid = getpass.getuser()
machine = socket.gethostname()
Now = datetime.datetime.Now()
strNow = str(Now)
cmdlist = ['curl','http://XXX.XX.XX:5002/data']
UserData={}
UserData["Staffid"]=staffid
UserData["Machine"]=machine
UserData["Today"]=strNow
cmdlist.insert(-1,shell=True)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)