app登录接口做接口测试

来源:互联网 发布:淘宝备注在哪 编辑:程序博客网 时间:2024/06/05 14:28

app登录接口做接口测试
Jsoup对登录接口做POST请求
密码做MD5加密

import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import org.jsoup.Connection;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;public class JsoupPost {    /**     * POST 请求     * @param ip 请求IP     * @param url 接口地址     * @param reqcode 协议编号     * @param body 请求body     * @return     */    public Document PostUrl(String ip, String url, String reqcode, String body) {        Document doc = null;        String session = null;        try {            String realUrl = "http://" + ip + "/ZTHServer/" + url;            Connection conn = Jsoup.connect(realUrl).ignoreContentType(true);            conn.timeout(10000);            conn.data("reqcode", reqcode);            conn.data("versionnum", "4.1");            if (url == "user/login") {                conn.data("body", body);                doc = conn.post();                System.out.println(doc);            } else {                String Ebody = URLEncoder.encode(body, "UTF-8");                conn.data("body", Ebody);                doc = conn.post();                System.out.println(doc);            }        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return doc;    }    /**     * 用户登录模块     * @param account 手机号码     * @param password 密码     * @param dtype 设备类型(android/ios)     * @param dkey 设备ID      * @param atype app类型(家长端/园丁端)     * @param vnum app版本号     * @return     */    public Document UserLogin(String ip,String account,String password,String dtype,String dkey,String atype,String vnum){        Document doc = null;        JsoupPost myPost = new JsoupPost();        //密码加密        String pwd1 = myPost.Md5(b + password);// MD5加密        String pwd2 = myPost.Md5(a + password);        //body部分        String loginBody = "{'account':'" + account + "','password':'" + pwd1 + "','pwd2':'" + pwd2 + "','devtype':"                + dtype + ",'dkey':'" + dkey + "','atype':" + atype + ",'oemid':'1','vnum':'"                + vnum + "','release':1}";        //登录请求        doc = myPost.PostUrl(ip, "user/login", "X000", loginBody);        return doc;    }    public static void main(String[] args) {        // TODO Auto-generated method stub        /*         *使用的设备/软件/版本信息          */        String ip = "192.168.1.1:1111"; // 访问的服务器(线上服务器)        String dtype = "1";        String dkey = "**************";// 移动设备ID        String atype = "1";// app版本        String vnum = "1.1.0.11";// 版本号        JsoupPost myPost = new JsoupPost();        Document doc_login = null;        /*         * 登录app  输入账号密码         */        String account = "**********";// 账号        String password = "*****";// 密码        //请求登录              doc_login = myPost.UserLogin(ip,account,password, dtype, dkey, atype, vnum);        System.out.println(doc_login);    }    /**     * MD5加密     *      * @param plainText 加密文本     * @return 返回加密后的文本     */    private static String Md5(String plainText) {        String password = null;        try {            MessageDigest md = MessageDigest.getInstance("MD5");            md.update(plainText.getBytes());            byte b[] = md.digest();            int i;            StringBuffer buf = new StringBuffer("");            for (int offset = 0; offset < b.length; offset++) {                i = b[offset];                if (i < 0)                    i += 256;                if (i < 16)                    buf.append("0");                buf.append(Integer.toHexString(i));            }            password = buf.toString();        } catch (NoSuchAlgorithmException e) {            e.printStackTrace();        }        return password;    }}
<html> <head></head> <body>  {"return":"ok","message":"登录成功","body":{"sessionid":"730B7E43B4B*************BC11E3371"}} </body></html>
1 0
原创粉丝点击