通过Python调用禅道API 骑猪看日落 2024-03-23 00:32 75阅读 0赞 禅道API接口,非REST接口 调试版本:11.3 百度出来的100%都用不了(本篇除外...)。于是自己修改了网上代码,先get session,再post登录,最后调用产品列表验证,实测通过。 1 import requests 2 import json 3 4 class zentao_cli(object): 5 6 session = None #用于实现单例类,避免多次申请sessionID 7 sid = None 8 9 def __init__(self, url, account, password, override = False): 10 self.url = url 11 self.account = account 12 self.password = password 13 self.session_override = override 14 self.pages = { 15 "sid": "/api-getSessionID.json", #获取sid的接口 16 "login": "/user-login.json?zentaosid={0}", #登录的接口 17 "get_product_list": "/product-index-no.json", 18 } 19 self.s = None 20 self.sid = None 21 22 def req_get(self, url): 23 #请求并返回结果 24 web = requests.get(url) 25 if web.status_code == 200: 26 resp = json.loads(web.content) 27 if resp.get("status") == "success": 28 return True, resp 29 else: 30 return False, resp 31 32 def req_post(self, url, body): 33 #请求并返回结果 34 res = requests.post(url=url, data=body) 35 if res.status_code == 200: 36 resp = json.loads(res.content) 37 if resp.get("status") == "success": 38 return True, resp 39 else: 40 return False, resp 41 42 def login(self): 43 if self.s is None: 44 if not self.session_override and zentao_cli.session is not None: 45 self.s = zentao_cli.session 46 self.sid = zentao_cli.sid 47 else: 48 #新建会话 49 self.s = requests.session() 50 res, resp = self.req_get(self.url.rstrip("/") + self.pages["sid"]) 51 if res: 52 print("获取sessionID成功") 53 self.sid = json.loads(resp["data"])["sessionID"] 54 zentao_cli.sid = self.sid 55 body = {'account': self.account, 'password': self.password, 'keepLogin[]': 'on', 'referer':self.url.rstrip("/") + '/my/'} 56 login_res, login_resp = self.req_post(self.url.rstrip("/") + self.pages["login"].format(self.sid), body) 57 if login_res: 58 print("登录成功") 59 zentao_cli.session = self.s 60 61 62 def get_product_list(self): 63 req_url = self.url.rstrip("/") + self.pages["get_product_list"] 64 res, resp = self.req_get(req_url + "?zentaosid=" + self.sid) 65 if res: 66 data = resp['data'] 67 products = json.loads(data)['products'] 68 return products.keys(), products.values() 69 70 71 if __name__ == "__main__": 72 cli = zentao_cli("http://xxx/zentao", "xxx", "xxx") 73 cli.login() 74 print(cli.get_product_list()) -------------------- **以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了** ![c1653dd19f35495583cef3678b57b6b0.png][] ![775632765b6744fbbecbd8fdd097d1ab.png][] **各位想获取资料的朋友请****点赞 + 评论 + 收藏****,三连!** **三连**之后我会在评论区挨个私信发给你们~ [c1653dd19f35495583cef3678b57b6b0.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/14/ca22416934654c08918921661d0174e0.png [775632765b6744fbbecbd8fdd097d1ab.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/14/3383c77a0d61445ca8dc0d10d6c5b50b.png
相关 禅道 馨提醒:安装禅道之前要部署PHP、MYSQL环境哦! 其他常见bug管理工具 [https://blog.csdn.net/haiyinshushe/article/... 桃扇骨/ 2024年04月17日 16:46/ 0 赞/ 104 阅读
相关 通过Python调用禅道API 禅道API接口,非REST接口 调试版本:11.3 百度出来的100%都用不了(本篇除外...)。于是自己修改了网上代码,先get session,再post登录,最后调用 骑猪看日落/ 2024年03月23日 00:32/ 0 赞/ 76 阅读
相关 禅道安装 1.ubuntu系统 1.1 下载安装包 wget http://dl.cnezsoft.com/zentao/9.8.2/ZenTaoPMS.9.8.2. 偏执的太偏执、/ 2023年10月11日 15:26/ 0 赞/ 77 阅读
相关 《禅道》简介 一、禅道简介 1.1.基本介绍 ZenTaoPMS(ZenTao Project Management System),[中文名][Link 1]为禅道项目管理软件 小咪咪/ 2023年10月10日 19:08/ 0 赞/ 48 阅读
相关 禅道—禅道Bug管理模块 禅道官网:https://www.zentao.net/ 简介: 开源免费的项目管理软件、集产品管理、项目管理、测试管理一体以及事物管理组织管理的功能 使用原因: àì夳堔傛蜴生んèń/ 2022年12月07日 11:46/ 0 赞/ 309 阅读
相关 《道禅》 《道禅》,当你心烦时,休息时,可以听下 。 德国,这个人杰地灵的地方曾经诞生过无数载于史册的世界名人,如今也同样活跃着无数才华横溢的音乐 我会带着你远行/ 2022年09月18日 09:54/ 0 赞/ 275 阅读
相关 禅道 http://www.zentao.net/book/zentaopmshelp/90.html 一、安装 1、将安装包直接解压到/opt目录下,不要解 青旅半醒/ 2022年07月13日 10:52/ 0 赞/ 295 阅读
相关 禅道安装 一、配置虚拟主机 二、解析域名 三、http://www.zentao.net/download/80041.html 下载源码包 四、http://www.zenta ゞ 浴缸里的玫瑰/ 2022年06月13日 04:26/ 0 赞/ 276 阅读
相关 禅道 ====== 禅道 ====== 禅道项目管理软件集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款功能完备的项目管理软件,完美地覆盖了项目管理的核 た 入场券/ 2022年05月31日 14:13/ 0 赞/ 302 阅读
相关 禅道迁移 禅道迁移 1.在目标服务器上安装相同服务 准备与原服务器相同版本的安装包 \[root@localhost ~\]\ tar -zxvf ZenTaoPMS.1 川长思鸟来/ 2021年11月04日 15:42/ 0 赞/ 433 阅读
还没有评论,来说两句吧...