当我尝试创建新的HttpClient时,它看起来像这样̶H̶t̶t̶p̶C̶l̶i̶e̶n̶t̶
答案 0 :(得分:2)
当我尝试创建新的HttpClient时,它看起来像是这样的H̶t̶t̶p̶C̶l̶i̶e̶n̶t̶
不推荐使用方法HttpClient
。
您可以使用HttpURLConnection
以下是使用HttpURLConnection
AsyncTask
的简单演示代码
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();
}