调用接口登录禅道_Java调用禅道api接口查询以及创建用户

本文详细介绍了如何使用Java调用禅道API进行登录、查询用户及创建用户的过程。首先获取sessionID,然后登录并保存cookie,接着查询指定用户,最后详细阐述了创建用户时密码加密规则及所需参数,提供了完整的Java代码示例。
摘要由CSDN通过智能技术生成

禅道接口是http接口,本文使用的是httpclient调用禅道接口

一、获取操作的sessionID

禅道api相关操作都需要登录后才能进行(请求需要携带登录完成cookie),请求地址http://127.0.0.1/zentao/api-getsessionid.json。

二、登录禅道

请求地址http://127.0.0.1/zentao/user-login.json,需要携带的参数用户名account,密码password,上一步获取的zentaosid,此步骤进行过后返回的cookie需要储存起来,后面需要使用。

三、查询某用户

请求地址http://127.0.0.1/zentao/user-view-[用户名].json,携带上一步登录后产生的cookie进行请求,否则请求无法成功。

四、创建用户

创建用户为最复杂的地方

1、先获取禅道创建用户的必要属性。

①、先在此界面手动添加一次用户

②、在浏览器的开发者模式下查看创建用户的参数,然后我们发现其中的password1,password2,verifyPassword为加密后的数值。

2、获取创建用户时密码的加密规则

①、在浏览器的开发者模式下查看创建用户界面的js方法发现password1,password2加密方法为一样的,verifyPassword为另一种加密方法。

②、获取rand变量,通过上一步发现密码的加密离不开一个名为rand的变量,通过查看页面发现rand值的获取来自创建用户界面的input框。但此input框的值每次访问都会发生变化,所以每次创建用户时都要先获取这个input框的值(我们可以通过使用java发送http请求,来获取整个界面,获取input框的值)。

③、获取禅道的md5加密方法,我们再创建用户界面会看到这样一个md5.js,此js中包含的就是禅道的md5加密方法。

3、使用java调用。所以需要的参数都获取到了,可以通过java发送http请求,将参数使用form-data方式发送至http://127.0.0.1/zentao/user-create-0.json地址,即可成功创建用户

五、示例代码(本地测试)

1、引用jar包

com.google.code.gson

gson

2.8.5

org.apache.httpcomponents

httpclient

4.5.8

org.apache.httpcomponents

httpcore

4.4.11

org.apache.httpcomponents

httpmime

4.5.8

org.apache.logging.log4j

log4j-api

2.7

org.apache.commons

commons-lang3

3.9

2、代码(经测试可行)

package zentao.api;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.script.Invocable;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

import org.apache.http.HttpEntity;

import org.apache.http.NameValuePair;

import org.apache.http.client.CookieStore;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.client.utils.URIBuilder;

import org.apache.http.impl.client.BasicCookieStore;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClientBuilder;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.impl.client.LaxRedirectStrategy;

import org.apache.http.message.BasicNameValuePair;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值