最近写一个集成测试:模拟玩家登陆游戏服务器的全过程,这些过程包括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!
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!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货