HttpClient删除[重复]

问题描述 投票:-4回答:1

这个问题在这里已有答案:

当我尝试创建新的HttpClient时,它看起来像这样̶H̶t̶t̶p̶C̶l̶i̶e̶n̶t̶

android httpclient strikethrough
1个回答
2
投票

当我尝试创建新的HttpClient时,它看起来像这样的H̶t̶t̶p̶C̶l̶i̶e̶n̶t̶

方法HttpClient已弃用。

你可以使用HttpURLConnection

这里是如何使用HttpURLConnectionAsyncTask的简单演示代码

        public static class GetAsyncTask extends AsyncTask<Void, Void, String> {


    @Override
    protected String doInBackground(Void... voids) {
        StringBuffer result = new StringBuffer("");


        try {
            URL url = new URL("https://stackoverflow.com/");
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            httpURLConnection.setRequestMethod("POST");// here you can set request method like GET and POST
            httpURLConnection.setConnectTimeout(20000);// here you can set connection time out
            httpURLConnection.setReadTimeout(20000);// here you can set Read Time out
            httpURLConnection.connect();

            InputStream inputStream = httpURLConnection.getInputStream();

            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
            String line = "";
            while ((line = bufferedReader.readLine()) != null) {
                result.append(line);
            }


        } catch (ProtocolException e) {
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


        return result.toString();
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }



    @Override
    protected void onPostExecute(String result) {

    }
}

比这样使用

GetAsyncTask getAsyncTask = new GetAsyncTask();
    try {
        String str=getAsyncTask.execute().get();
    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    }
© www.soinside.com 2019 - 2024. All rights reserved.