首页 > 代码库 > HttpInvoker http请求工具类
HttpInvoker http请求工具类
1 import java.io.BufferedReader; 2 import java.io.DataOutputStream; 3 import java.io.IOException; 4 import java.io.InputStreamReader; 5 import java.net.HttpURLConnection; 6 import java.net.URL; 7 import java.util.Map; 8 9 /** 10 * HTTP请求类 11 * @author 12 */ 13 public class HttpInvoker { 14 15 /** 16 * GET请求 17 * @param getUrl 18 * @throws IOException 19 * @return 提取HTTP响应报文包体,以字符串形式返回 20 */ 21 public static String httpGet(String getUrl) throws IOException { 22 //1 把字符串形式的网址转成 java.net.URL对象 23 URL getURL = new URL(getUrl); 24 /* 25 * 2 通过java.net.URL打开一个连接(获取一个代表与远程对象的URLConnection对象),并转为 HttpURLConnection , 26 Returns a URLConnection object that represents a connection 27 to the remote object referred to by the URL. 28 */ 29 HttpURLConnection connection = (HttpURLConnection) getURL.openConnection(); 30 //3 通过HttpURLConnection对象真正获取连接 31 connection.connect(); 32 //4 连接后那么这个远程连接对象就可以通过自身的一些方法读取到连接的信息了,这里是把流转成字符串 33 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream())); 34 StringBuilder sbStr = new StringBuilder(); 35 String line; 36 while ((line = bufferedReader.readLine()) != null) { 37 sbStr.append(line); 38 } 39 bufferedReader.close(); 40 connection.disconnect(); 41 return new String(sbStr.toString().getBytes(),"utf-8"); 42 } 43 44 45 public static void main(String[] args) throws IOException { 46 String url = "https://www.hao123.com/?tn=99682755_hao_pg"; 47 String rtn_json = httpGet(url); 48 System.out.println(""+rtn_json); 49 } 50 51 /** 52 * POST请求 53 * @param postUrl 54 * @param postHeaders 55 * @param postEntity 56 * @throws IOException 57 * @return 提取HTTP响应报文包体,以字符串形式返回 58 */ 59 public static String httpPost(String postUrl,Map<String, String> postHeaders, String postEntity) throws IOException { 60 61 URL postURL = new URL(postUrl); 62 HttpURLConnection httpURLConnection = (HttpURLConnection) postURL.openConnection(); 63 httpURLConnection.setDoOutput(true); 64 httpURLConnection.setDoInput(true); 65 httpURLConnection.setRequestMethod("POST"); 66 httpURLConnection.setUseCaches(false); 67 httpURLConnection.setInstanceFollowRedirects(true); 68 httpURLConnection.setRequestProperty(" Content-Type ", " application/x-www-form-urlencoded "); 69 70 if(postHeaders != null) { 71 for(String pKey : postHeaders.keySet()) { 72 httpURLConnection.setRequestProperty(pKey, postHeaders.get(pKey)); 73 } 74 } 75 if(postEntity != null) { 76 DataOutputStream out = new DataOutputStream(httpURLConnection.getOutputStream()); 77 out.writeBytes(postEntity); 78 out.flush(); 79 out.close(); // flush and close 80 } 81 //connection.connect(); 82 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream())); 83 StringBuilder sbStr = new StringBuilder(); 84 String line; 85 while ((line = bufferedReader.readLine()) != null) { 86 sbStr.append(line); 87 } 88 bufferedReader.close(); 89 httpURLConnection.disconnect(); 90 return new String(sbStr.toString().getBytes(),"utf-8"); 91 } 92 93 }
HttpInvoker http请求工具类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。