摘要:head.isEmpty()){34用于{35conn.setRequestProperty;36}37}38 conn。setDoOutput;39连接。setDoInput;40//获取URLConnection对象对应的输出流41out=newPrintWriter;42//发送请求参数43out。打印44//缓冲器45out。冲洗输出流的冲洗();46//定义BufferedReader输入流以读取URL响应47in=newBufferedReader;48架线;49while((line=in.readLine())!
1 package com.ming;
2
3 import java.io.BufferedReader;
4 import java.io.InputStreamReader;
5 import java.io.OutputStreamWriter;
6 import java.io.PrintWriter;
7 import java.net.HttpURLConnection;
8 import java.net.URL;
9 import java.util.Map;
10
11
12 public class HttpBaseUtil {
13
14
15 /**
16 * 向指定的url发送post方法,并获取放回值
17 * @param url 发送的url
18 * @param param 发送的参数 参数形式a=2&b=2
19 * @param head 请求头设定
20 */
21 public static String sendPostUrl(String url,String param,Map<String, String> head) throws Exception{
22 StringBuffer result=new StringBuffer();
23 PrintWriter out =null;
24 BufferedReader in=null;
25 try {
26 URL realUrl = new URL(url);
27 // 打开和URL之间的连接
28 HttpURLConnection conn =(HttpURLConnection)realUrl.openConnection();
29 // 设置通用的请求属性
30 conn.setRequestProperty("accept", "*/*");
31 conn.setRequestProperty("connection", "Keep-Alive");
32 conn.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
33 if(head!=null && !head.isEmpty()){
34 for (String key:head.keySet()){
35 conn.setRequestProperty(key, head.get(key));
36 }
37 }
38 conn.setDoOutput(true);
39 conn.setDoInput(true);
40 // 获取URLConnection对象对应的输出流
41 out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(),"UTF-8"));
42 // 发送请求参数
43 out.print(param);
44 // flush输出流的缓冲
45 out.flush();
46 // 定义BufferedReader输入流来读取URL的响应
47 in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
48 String line;
49 while ((line = in.readLine()) != null) {
50 result.append(line);
51 }
52 } catch (Exception e) {
53 throw new Exception("发送post出现异常."+e.getMessage());
54 }
55 return result.toString();
56 }
57
58 }
1 import org.apache.http.HttpResponse;
2 import org.apache.http.client.ClientProtocolException;
3 import org.apache.http.client.HttpClient;
4 import org.apache.http.client.ResponseHandler;
5 import org.apache.http.client.methods.HttpUriRequest;
6
7 import java.io.IOException;
8
9 public class LocalHttpClient {
10
11 private static LocalHttpClient localHttpClient;
12 protected HttpClient httpClient;
13
14 private static int maxTotal = 100;
15 private static int maxPerRoute = 10;
16 public static void init(int maxTotal,int maxPerRoute){
17 LocalHttpClient.maxTotal = maxTotal;
18 LocalHttpClient.maxPerRoute = maxPerRoute;
19 }
20
21 public static LocalHttpClient getInstance(){
22 if(localHttpClient != null){
23 return localHttpClient;
24 }else{
25 localHttpClient = new LocalHttpClient();
26 if(maxTotal > 0){
27 localHttpClient.httpClient = HttpClientFactory.createHttpClient(maxTotal,maxPerRoute);
28 }else{
29 localHttpClient.httpClient = HttpClientFactory.createHttpClient();
30 }
31 return localHttpClient;
32 }
33 }
34
35 public HttpResponse execute(HttpUriRequest request){
36 try {
37 return httpClient.execute(request);
38 } catch (ClientProtocolException e) {
39 e.printStackTrace();
40 } catch (IOException e) {
41 e.printStackTrace();
42 }
43 return null;
44 }
45
46 public <T> T execute(HttpUriRequest request,ResponseHandler<T> responseHandler){
47 try {
48 return httpClient.execute(request, responseHandler);
49 } catch (ClientProtocolException e) {
50 e.printStackTrace();
51 } catch (IOException e) {
52 e.printStackTrace();
53 }
54 return null;
55 }
56 }