当前位置: 代码迷 >> J2SE >> 怎样在同一个session中多次访问一个HTTPS server,该怎么处理
  详细解决方案

怎样在同一个session中多次访问一个HTTPS server,该怎么处理

热度:98   发布时间:2016-04-24 01:56:48.0
怎样在同一个session中多次访问一个HTTPS server
最近写一个集成测试:模拟玩家登陆游戏服务器的全过程,这些过程包括init,play等。
play请求需要init请求返回的transaction id作为postdata的内容。
url是像这样的:
https://www.abc.com:9001/init?playerId=3344 这个会返回一个初始transaction id
https://www.abc.com:9001/play?playerId=3344 这个要transaction id为内容的postdata

当我把init返回的transaction id放到play url的connection的postdata里面发送出去时
服务器认为transaction id和session不匹配。

大概的测试代码如下:
Java code
       //String https_url = "https://localhost:9001/init?playerId=3344";       String https_url = "https://localhost:9001/play?playerId=3344";    URL url;    try {            url = new URL(https_url);            HttpsURLConnection con = (HttpsURLConnection)url.openConnection();            con.setDoInput(true);            con.setDoOutput(true);            con.setRequestMethod("POST");            OutputStreamWriter output = new OutputStreamWriter(con.getOutputStream());            String postData=                "<TransactionId>"                                 + "13256477107065"                                 //这个id是https_url为注释掉的那个init URL返回的结果,我直接copy放在这里                 + "</TransactionId>";            output.write(postData);            output.flush();                                System.out.println("****** Content of the URL ********");                            BufferedReader br =                     new BufferedReader(                            new InputStreamReader(con.getInputStream()));                String input;                while ((input = br.readLine()) != null){                    System.out.println(input);                }                br.close();        } catch (MalformedURLException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }

服务器返回的结果说session不对。
请问,怎样让这个两个URL在一个session中访问?
thanks in advance!

------解决方案--------------------
你需要一个能模拟浏览器管理Cookie的东西,建议用Apache 的 HttpClient 包,否则自己去实现这种东西会很浪费时间。
  相关解决方案