来源: Android中使用HTTP和HttpClient进行通信 – qingyezhu – 博客园
</pre>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a title="复制代码"><img src="http://www.mikel.cn/wp-content/uploads/2015/05/copycode8.gif" alt="复制代码" /></a></span></div>
<pre>/**
* 使用HTTP的Get方式进行数据请求
*/
protected void httpGet() {
/**
* 进行异步请求
*/
new AsyncTask<String, Void, Void>() {
@Override
protected Void doInBackground(String... params) {
System.err.println("httpGet start");
// 在此方法中只能进行数据处理,不能与进行UI交互
try {
URL url = new URL(params[0]);
URLConnection connection = url.openConnection();
InputStream is = connection.getInputStream();
// 使用UTF-8的方式进行数据流转化,从字节流转化为字符流
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
System.err.println(line);
}
// 关闭数据流
br.close();
isr.close();
is.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}.execute("http://fanyi.youdao.com/openapi.do?keyfrom=***&key=***&type=data&doctype=json&version=1.1&q=good");
}
/**
* 使用HTTP的Post方式进行数据请求
*/
protected void httpPost() {
/**
* 进行异步请求
*/
new AsyncTask<String, Void, Void>() {
@Override
protected Void doInBackground(String... params) {
System.err.println("httpPost start");
// 在此方法中只能进行数据处理,不能与进行UI交互
try {
URL url = new URL(params[0]);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
// 设置请求方式以及设置参数
// 设置是否向HttpURLConnection对象输出
connection.setDoOutput(true);
// 设置请求方式
connection.setRequestMethod("POST");
// 设置参数
OutputStream os = connection.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
bw.write(params[1]);
bw.flush();
InputStream is = connection.getInputStream();
// 使用UTF-8的方式进行数据流转化,从字节流转化为字符流
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
System.err.println(line);
}
// 关闭数据流
br.close();
isr.close();
is.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}.execute("http://fanyi.youdao.com/openapi.do",
"keyfrom=***&key=***&type=data&doctype=json&version=1.1&q=good");
}
private HttpClient httpClient;
/**
* 使用HttpClient进行Get请求
*/
protected void httpClientGet() {
new AsyncTask<String, Void, Void>() {
@Override
protected Void doInBackground(String... params) {
System.err.println("httpClientGet start");
String urlString = params[0];
HttpGet httpGet = new HttpGet(urlString);
try {
// 发送请求
HttpResponse response = httpClient.execute(httpGet);
// 获取返回内容
String value = EntityUtils.toString(response.getEntity());
System.err.println(value);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}.execute("http://fanyi.youdao.com/openapi.do?keyfrom=***&key=***&type=data&doctype=json&version=1.1&q=good");
}
/**
* 使用HttpClient进行Post请求
*/
protected void httpClientPost() {
new AsyncTask<String, Void, Void>() {
@Override
protected Void doInBackground(String... params) {
System.err.println("httpClientPost start");
String urlString = params[0];
HttpPost httpPost = new HttpPost(urlString);
try {
// 设置参数
String[] paramsArr = params[1].split("&");
int len = paramsArr.length;
List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>(
len);
BasicNameValuePair pair = null;
for (int i = 0; i < len; i++) {
String[] paramArr = paramsArr[i].split("=");
pair = new BasicNameValuePair(paramArr[0], paramArr[1]);
list.add(pair);
}
httpPost.setEntity(new UrlEncodedFormEntity(list));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
try {
// 发送请求
HttpResponse response = httpClient.execute(httpPost);
// 获取返回内容
String value = EntityUtils.toString(response.getEntity());
System.err.println(value);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}.execute("http://fanyi.youdao.com/openapi.do",
"keyfrom=***&key=***&type=data&doctype=json&version=1.1&q=good");
}</pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a title="复制代码"><img src="http://www.mikel.cn/wp-content/uploads/2015/05/copycode8.gif" alt="复制代码" /></a></span></div>
<div class="cnblogs_code_toolbar">
Mikel



