我编写了一个使用URLConnection获取.html文件的应用程序。 wifi上的一切都运行良好。但是超过3g的文件没有正确返回。 当我尝试通过浏览器访问该网站时,它工作正常。 有人有建议吗?
更新: 这是我的代码:
URL downloadUrl;
URLConnection downloadConnection;
InputStream inputStream;
byte[] inputBytes;
String[] output;
private void downloadSource(String pUrl)
{
try
{
downloadUrl = new URL(pUrl);
downloadConnection = downloadUrl.openConnection();
downloadConnection.setConnectTimeout(10000);
downloadConnection.setReadTimeout(10000);
inputStream = downloadConnection.getInputStream();
ByteArrayOutputStream result = new ByteArrayOutputStream();
inputBytes = new byte[10000];
int i;
int i1 = 0;
while ((i = inputStream.read(inputBytes)) > 0)
{
result.write(inputBytes, 0, i);
result.flush();
i1 += i;
}
result.flush();
result.close();
output = result.toString().split("\n");
}
catch (Exception e)
{
e.printStackTrace();
}
}
答案 0 :(得分:0)
也许这有点晚了回答,但我遇到了同样的问题,Wifi下载的html与使用3G下载的版本有不同的空间。
我解决了删除连接中的User-Agent的问题:
URLConnection conn = url.openConnection();
conn.setRequestProperty("User-Agent","");
我希望它有所帮助!