自己写的NetWorkDemo的源码:https://github.com/heinika/MyNetDemo
虽然已经被Google抛弃,但是介于使用范围比较广,而且xUtils还是基于HttpClient,就再看一眼。
case R.id.button_doget:
new HttpClientTask().execute();
class HttpClientTask extends AsyncTask<String,Integer,String>{}
@Override
protected String doInBackground(String... params) {
HttpClient client=new DefaultHttpClient();// 建立client
String urlString = "http://192.168.0.44:8080/MyServiceTest/MyTestServlet?username=wangmazi&password=123456";
// 设置get方法及环境
HttpGet get = new HttpGet(urlString);
get.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
try {
// 执行get方法法获得服务器返回的所有数据
HttpResponse response = client.execute(get);
// 接收处理服务器返回数据
// 获得服务器返回的表头
StatusLine statusLine = response.getStatusLine();
// 获得状态码
int code = statusLine.getStatusCode();
if (code == HttpURLConnection.HTTP_OK) {
// 获得数据实体
HttpEntity entity = response.getEntity();
// 获得数据的输入流并读入
InputStream is = entity.getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine();
}
}
} catch (ClientProtocolException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
return null;
}