这样的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
我要从查询页面输入参数,然后获取数据页面的数据。请指点!!
用HttpClient怎么抓取URL中有jssessionid的页面数据
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- changchanghust 2011-03-23 00:24关注
看了一下这个页面的流程,其实就是提交一个表单请求,服务器返回一个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]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 matlab中使用gurobi时报错
- ¥15 WPF 大屏看板表格背景图片设置
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂