![](/img/trans.png)
[英]How to access HttpResponse returned by HttpURLConnection InputStream in Android?
[英]Why android HttpURLConnection cache the inputstream results?
我正在嘗試獲取一個xml文件,但它似乎是緩存的。 這是我的代碼:
URL url = new URL("http://delibere.asl3.liguria.it/SVILUPPO/elenco_xml.asp?rand=" + new Random().nextInt()+"&Oggetto=" + text +"&TipoDocumento="+tipoDocumento);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
urlConn.setDefaultUseCaches(false);
urlConn.setAllowUserInteraction(true);
urlConn.setDoInput(true);
urlConn.setDoOutput(true);
urlConn.setUseCaches(false);
urlConn.setRequestMethod("GET");
urlConn.setRequestProperty("Pragma", "no-cache");
urlConn.setRequestProperty("Cache-Control", "no-cache");
urlConn.setRequestProperty("Expires", "-1");
urlConn.setRequestProperty("Content-type", "text/xml");
urlConn.setRequestProperty("Connection","Keep-Alive");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputStream is = new BufferedInputStream(url.openStream());
Document doc = db.parse(is);
doc.getDocumentElement().normalize();
謝謝!
你意識到你沒有使用你的HttpURLConnection
,對嗎? 如果要使用HttpURLConnection
獲取InputStream
,則需要調用
InputStream is = new BufferedInputStream(urlConn.getInputStream());
另外,我認為將Apache HttpClient用於Android的這類事情是標准的,因為它內置了比標准Java更好的API。
看起來他們有一個HttpClient的解決方案。 您可以嘗試一下,HttpClient可以更靈活地解決其他問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.