1

我需要使用来自 asp webservice 的 java jsoup 获取一些信息。我也读过链接:jsoup 张贴和 cookie,但我仍然感到困惑。这是我的代码:

//1.Create connection to server
Connection.Response res = Jsoup.connect("http://www.server.com/user.aspx?lang=en-us")
                    .timeout(50000).data("{\"userid\":\"subagent01\",\"password\":\"mypassword\"}", "")
                    .method(Method.POST)
                    .execute();
Map<String, String> cookies = res.cookies();
Document doc = res.parse();

//2.Get information form server
String fAddressUrl = "http://www.server.com/WebService/Service.asmx/getSchedule?fromCity=CityA&toCity=CityB";
Document doc2 = Jsoup.connect(fAddressUrl).cookies(cookies).get();
System.out.println(doc2);

我得到了这个回复:

<html>
 <head></head>
 <body>
  <string xmlns="http://tempuri.org/">
   Error, session is session_expired
  </string>
 </body>
</html>


如果还尝试在 Web 浏览器中直接调用该 URL(“ http://www.server.com/WebService/Service.asmx/getSchedule?fromCity=CityA&toCity=CityB ”),结果如下:
1. 登录首先在 www.server.com
-> 成功。我在网络浏览器中获得了信息
2.没有在 www.server.com 上登录
-> 失败。显示相同的错误“错误,会话已过期”。

那么,问题是什么?

4

0 回答 0