最近写一个集成测试:模拟玩家登陆游戏服务器的全过程,这些过程包括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不匹配。大概的测试代码如下:       //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!