问题场景:
通过httpClient请求同一门户的接口地址,因为登录后和未登录的时候返回的数据不一样。所以当用户在门户上登录的情况下,访问接口返回的数据也应该是要登录口的数据。现在返回的都是未登录的情况。‘请问大神们此问题如何解决。
代码如下:
String url = "http://192.168.41.56/portal/480/home/wap/xqy/ljjk/dbjqbf/index.jsp";
String result = "";
HttpClient client = new HttpClient();
//client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
HttpConnectionManagerParams managerParams = client.getHttpConnectionManager().getParams();
// 设置连接超时时间(单位毫秒)
managerParams.setConnectionTimeout(500);
managerParams.setSoTimeout(5000);
GetMethod getMethod=new GetMethod();
URI base = new URI(url,false);
getMethod.setURI(new URI(base,"",false));
int resultCode = client.executeMethod(getMethod);
if(resultCode == 200 ) {
byte[] body=getMethod.getResponseBody();
if(body!=null && body.length>0){
result=new String(body,"UTF-8");
System.out.println(result);
}else{
System.out.println(" 无返回值 url ="+url);
}
}else{
System.out.println(" HTTP 返回异常 url ="+url +", resultCode= "+ resultCode);
}
getMethod.releaseConnection();