用HttpClient怎么抓取URL中有jssessionid的页面数据

这样的URL路径
http://www.spict.com/port/cntr/find_out_cntr.cfm?CFID=4922150&CFTOKEN=3f64c67d7fcb5bdc-DDB3676A-B65F-4490-91AC5683007B1B89&jsessionid=f030f747ce548af55e98591a1d18733d3960
怎样去获取这个页面的值,jsessionid随时都会变动。
查询页面为http://www.spict.com/port/cntr/cntrform.cfm
数据页面是http://www.spict.com/port/cntr/find_out_cntr.cfm?CFID=4922150&CFTOKEN=3f64c67d7fcb5bdc-DDB3676A-B65F-4490-91AC5683007B1B89&jsessionid=f030f747ce548af55e98591a1d18733d3960
我要从查询页面输入参数,然后获取数据页面的数据。请指点!!

看了一下这个页面的流程,其实就是提交一个表单请求,服务器返回一个302重定向,指向http://www.spict.com/port/cntr/find_out_cntr.cfm?CFID=4922150&CFTOKEN=3f64c67d7fcb5bdc-DDB3676A-B65F-4490-91AC5683007B1B89&jsessionid=f030f747ce548af55e98591a1d18733d3960
然后再跳转到最终页面的。

可以先用程序模拟提交表单,然后根据响应的location头获取到重定向的地址,再发起请求来获取最终的页面内容。

我写了个程序,大概试了一下,不知是否是你想要的效果。
[code="java"]HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
"http://www.spict.com/port/cntr/select.cfm");

    //组装表单请求
    // radio1=cntr2&radio2=radio2&cntr=1&Submit3=%B2%E9%D1%AF
    List<NameValuePair> formparams = new ArrayList<NameValuePair>();
    formparams.add(new BasicNameValuePair("radio1", "cntr2"));  //集装箱号单选框
    formparams.add(new BasicNameValuePair("radio2", "outvsl")); //出口进口单选框
    formparams.add(new BasicNameValuePair("cntr", "1"));    //查询条件
    formparams.add(new BasicNameValuePair("Submit3", "查询"));
    UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams,
            "GBK");
    httppost.setEntity(entity);

    //获取重定向地址
    HttpResponse response = httpclient.execute(httppost);
    System.out.println(response.getStatusLine());
    Header header = response.getFirstHeader("location");
    httppost.abort();

    //获取最终页面内容
    HttpGet httpget = new HttpGet("http://www.spict.com/port/cntr/" + header.getValue());
    HttpResponse response2 = httpclient.execute(httpget);
    System.out.println(EntityUtils.toString(response2.getEntity()));[/code]