/**
*
Http工具类
*/
public
class
HttpUtil {
//
创建HttpClient对象
public
static
HttpClient httpClient =
new
DefaultHttpClient();
public
static
final
String BASE_URL =
"" ;
/**
*
get请求
*
*
@param url
*
发送请求的URL
*
@return 服务器响应字符串
*
@throws Exception
*/
public
static
String doGet(String url)
throws
Exception {
//
创建HttpGet对象。
HttpGet
get = new
HttpGet(url);
//
发送GET请求
HttpResponse
httpResponse = httpClient.execute(get);
//
如果服务器成功地返回响应
if
(httpResponse.getStatusLine().getStatusCode() ==
200 )
{
//
获取服务器响应字符串
HttpEntity
entity = httpResponse.getEntity();
InputStream
content = entity.getContent();
return
convertStreamToString(content);
}
return
null
;
}
/**
*
post请求
*
*
@param url
*
发送请求的URL
*
@param params
*
请求参数
*
@return 服务器响应字符串
*
@throws Exception
*/
public
static
String doPost(String url, Map<String, String> rawParams)
throws
Exception {
//
创建HttpPost对象。
HttpPost
post = new
HttpPost(url);
//
如果传递参数个数比较多的话可以对传递的参数进行封装
List<NameValuePair>
params = new
ArrayList<NameValuePair>();
for
(String key : rawParams.keySet()) {
//
封装请求参数
params.add( new
BasicNameValuePair(key, rawParams.get(key)));
}
//
设置请求参数
post.setEntity( new
UrlEncodedFormEntity(params,
"utf-8" ));
//
发送POST请求
HttpResponse
httpResponse = httpClient.execute(post);
//
如果服务器成功地返回响应
if
(httpResponse.getStatusLine().getStatusCode() ==
200 )
{
//
获取服务器响应字符串
HttpEntity
entity = httpResponse.getEntity();
InputStream
content = entity.getContent();
return
convertStreamToString(content);
}
return
null
;
}
/**
*
获取服务器的响应,转换为字符串
*/
private
static
String convertStreamToString(InputStream is) {
BufferedReader
reader = new
BufferedReader(
new
InputStreamReader(is));
StringBuilder
sb = new
StringBuilder();
String
line = null ;
try
{
while
((line = reader.readLine()) !=
null )
{
sb.append(line);
}
}
catch
(IOException e) {
e.printStackTrace();
}
finally
{
try
{
is.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
return
sb.toString();
}
}
|