我需要使用asp webservice中的java jsoup获取一些信息。我也有阅读链接:jsoup posting and 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进行登录
- &GT;成功。我在网络浏览器中获得了这些信息
2.无需登录www.server.com
- &GT;失败。显示相同的错误,“错误,会话是session_expired”。
那么,问题是什么?