-
-10 21
-
InputStream isStrm = null;
byte[] tbt;try{//conn.setRequestProperty("X-Online-Host","10.0.0.172");//设置代理10.0.0.172是移动wap网关conn.setRequestProperty( "Content-Type", "text/html" );conn.setRequestProperty("Accept", "*/*");conn.setRequestProperty("Content-Language", "zh-CN");conn.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLDC-2.0" );conn.setRequestProperty("Pragma", "No-cache");conn.setRequestProperty("Cache-Control", "no-cache");//在TOMCAT容器中控制缓存,防止出现connection already openconn.setRequestProperty("connection", "keep-alive");conn.setRequestProperty("accept-charset", "utf-8");conn.setRequestProperty("x-up-calling-line-id", "13800000");conn.setRequestMethod(HttpConnection.GET);tbt = new byte[(int)conn.getLength()];int resCode = conn.getResponseCode();System.out.println("response Code =" + resCode);if ( resCode == HttpConnection.HTTP_OK){isStrm = conn.openInputStream();dataIn = new DataInputStream(isStrm);dataIn.read(tbt);}}finally{if(null != conn){conn.close();conn = null;}if(null != isStrm){isStrm.close();isStrm = null;}if(null != dataIn){dataIn.close();dataIn = null;}}return new String(tbt);原因:tomcat的缓存机制,需要在Header信息中设置失效时间或者是有效期,除此之外还要设置本地禁止缓存和Tomcat禁止缓存等,上面的conn.setHeader("Content-Type", "application/xml");HttpParams param = new BasicHttpParams();param.setBooleanParameter("UseCaches", false);param.setBooleanParameter("DoInput", true);param.setBooleanParameter("DoOutput", true);param.setBooleanParameter("InstanceFollowRedirects", false);conn.setParams(param);conn.setHeader("Accept", "*/*");conn.setHeader("Pragma", "No-cache");conn.setHeader("Cache-Control", "no-cache");conn.setHeader("connection", "keep-alive");conn.setHeader("accept-charset", "utf-8");conn.setHeader("User-Agent", "Mozilla/5.0");conn.setHeader("x-up-calling-line-id", "13800000");上面是常用的HTTP头信息。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
- 评论(0)
发表评论 TrackBack