首页 > 解决方案 > 我无法从 Android Studio 中的 URL 获取 HTML 代码

问题描述

package com.example.webcontentdownload;

import androidx.appcompat.app.AppCompatActivity;

import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.ExecutionException;

public class MainActivity extends AppCompatActivity {

    public class DownloadTask extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... strings) {
            String result = "";
            URL url;
            HttpURLConnection urlConnection = null;
            try {
                url = new URL(strings[0]);
                urlConnection = (HttpURLConnection) url.openConnection();
                InputStream in = urlConnection.getInputStream();
                InputStreamReader reader = new InputStreamReader(in);
                int data = reader.read();
                while(data != -1) {
                    char  current = (char) data;
                    result += result;
                    data = reader.read();
                }
                return result;
            } catch (MalformedURLException e) {
                e.printStackTrace();
                return "Failed Malformed";
            } catch (IOException e) {
                e.printStackTrace();
                return "Failed IOException";
            }

        }
    }


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



        DownloadTask task = new DownloadTask();
        String result = null;


        try {
            result = task.execute("https://www.google.com/").get();
            Log.i("Contents of URL" , result);

        } catch (ExecutionException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }
}

**这是我的代码,我正在尝试获取任何 URL 的 html 代码。我试过url连接方法。我也尝试重新安装 avd,有时我得到 Emulator: socketTcpLoopbackClientFor: error: fd 35124 above FD_SETSIZE (32768)

Emulator: emulator: ERROR: AdbHostServer.cpp:102: Unable to connect to adb daemon on port: 5037.

这显示在我的事件日志中。我非常希望得到您的帮助 ** 我得到的日志在这里。

标签: javaandroidandroid-studio-3.0

解决方案


推荐阅读