import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import org.apache.http.*; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; public class HttpClientUtils { /** * 发送post请求 * @param url * @param json * @return */ public static String post(String url, String json){ DefaultHttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(url); //设置编码 post.addHeader("Content-Type", "application/json;charset=utf-8"); String result=null; try { StringEntity s = new StringEntity(json,"utf-8"); s.setContentEncoding("UTF-8");// s.setContentType("application/json");//发送json数据需要设置contentType post.setEntity(s); HttpResponse res = client.execute(post); if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){ HttpEntity entity = res.getEntity(); result = EntityUtils.toString(res.getEntity());// 返回json格式: // response = JSONObject.fromObject(result); } } catch (Exception e) { throw new RuntimeException(e); } return result; } /** * * @param url 请求地址 * @param param 如果请求地址中已经拼接了参数,就不要再传参数 * @return */ public static String get(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString=url; if(param!=null){ urlNameString= url + "?" + param; } //判断是否有空格,并替换为% if(urlNameString.contains(" ")){ urlNameString.replace(" ","%"); } URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept","*/*"); connection.setRequestProperty("connection","Keep-Alive"); connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段y in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { //发送GET请求出现异常! e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } }
JAVA Http请求工具类
最新推荐文章于 2024-02-04 23:55:19 发布