要在app引擎中获取超过1M的(),我使用范围标题,然后组合这些片段和我的代码:
int startpos=0;
int endpos;
int seg=1;
int len=1;
while(len>0){
endpos=startpos+seg;
httpConn = (HttpURLConnection) u.openConnection();
httpConn.setRequestMethod("GET");
con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14");
con.setRequestProperty("Range", "bytes=" + startpos + "-" + endpos);
con.connect();
InputStream in=con.getInputStream();
len=con.getContentLength();
byte[] b=new byte[len];
in.read(b, 0, len);
startpos+=len;
}
但当它进入“InputStream in = con.getInputStream();”时,其调试是“URL Fetch Response太大问题”
所以我不知道这些代码有什么问题.
还有其他方法可以获取超过1M的?
最佳答案 并非所有HTTP服务器都支持范围请求,特别是在提供动态内容的框架时 – 它们只是忽略Range标头并向您发送整个响应.
最近发布的1.4.0将URLFetch响应限制增加到32MB,因此您不再需要这样做.