下载网页的源代码

时间:2017-05-14 07:33:29

标签: java android

我正在尝试下载网页的源代码。 但问题是整个代码没有出现,每次只下载一小部分。

public class MainActivity extends AppCompatActivity {

    public class DownloadTask extends AsyncTask < String , Void , String >
    {
        @Override
        protected String doInBackground(String... params) {

            String content ="";
            URL url ;
            HttpURLConnection conn = null;
            try {

                url = new URL (params[0]);
                conn = (HttpURLConnection)url.openConnection();
                InputStream is = conn.getInputStream();
                InputStreamReader isr = new InputStreamReader(is);
                int data = isr.read();
                while(data!=-1)
                {
                    char c = (char) data;
                    content += c;
                    data = isr.read();
                }

                Log.i("The Code is ",content);
            }
            catch (Exception e)
            {
                e.getStackTrace();
            }
            return content;
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String result =" ";
        DownloadTask DT = new DownloadTask();
        try {

            result = DT.execute("https://www.google.co.in").get();

        }
        catch (Exception e)
        {
            e.getStackTrace();
        }
        Log.i("The Code is ",result);

    }
}

1 个答案:

答案 0 :(得分:0)

关闭StreamReader非常重要。可能不是问题,但这是一个很好的做法。

              while(data!=-1)
                {
                    char c = (char) data;
                    content += c;
                    data = isr.read();
                }
              isr.close();
            is.close();

我认为您的首页下载得很好,但是当您尝试一次又一次地加载它时,您可能会遇到问题。正如我所说,这可能不是一个解决方案,但它很重要。希望这有助于某人。