Android URLConnection仅适用于wifi,而不适用于3g

时间:2011-11-12 13:49:40

标签: android wifi 3g urlconnection wlan

我编写了一个使用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();
    }


}

1 个答案:

答案 0 :(得分:0)

也许这有点晚了回答,但我遇到了同样的问题,Wifi下载的html与使用3G下载的版本有不同的空间。

我解决了删除连接中的User-Agent的问题:

URLConnection conn = url.openConnection();  
conn.setRequestProperty("User-Agent","");

我希望它有所帮助!