已解决
调用api登录后GET请求可以获得用户信息。但是post请求调用导出文件为空
步骤:
1. java httpclient调用/biz/user-login.html获取到zentaosid和verifyRand
2.zentaosid添加到httpclient的header,用verifyRand,account,password,keepLogin,passwordStrength模拟表单提交。
3. 调用/biz/user-login.json接口可以获得用户的相关信息。说明我们的登录时成功的
4.带上zentaosid验证GET接口 /biz/bug-browse-60.html,可以得到所有bug的信息。证明get接口在登录之后时可以返回成功的
5.zentaosid添加到httpclient的header,验证post导出接口/biz/bug-export-60-id_desc-unclosed.html. 导出文件为空。
注意: 我把第5步的zentaosid换成我手动在网页上登录后获得的zentaosid,仍然用第5步的程序调用导出接口/biz/bug-export-60-id_desc-unclosed.html。导出文件却成功了。
这里仅仅是zentaoid不同而已, 由此可以证明第三方代码没有问题,况且调用get接口成功获得用户信息和bug列表就证明了zentaoid是登录成功的,为什么调用post接口就失败了呢,求解答
提问者: 胡媛媛 悬赏:5 日期: 2021-09-23 21:11:12 答案:1 点击:521
获取技术支持
QQ:
2845263372电话:
18562550650
答案列表
PATH_INFO方式
1、访问 http://x.com/api-getsessionid.json获取禅道session信息
2、使用上一步获取的session作为url参数访问 http://x.com/user-login.json?account=account&password=123456&zentaosid=6v9bl9hp3o5chvdd46u5fg36g4
3、http://x.com/project-index-no.json?zentaosid=6v9bl9hp3o5chvdd46u5fg36g4
将zentaosid get方式提交下看下呢