This article explains the detailed code snippets of Post, Get, and proxy access requests for Java to implement http. It is shared with you for your reference. The specific content is as follows
package com.snowfigure.kits.net; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.URL; import java.net.URLConnection;import java.util.List;import java.util.Map; /** * Http request tool class* @author snowfigure * @since 2014-8-24 13:30:56 * @version v1.0.1 */public class HttpRequestUtil { static boolean proxySet = false; static String proxyHost = "127.0.0.1"; static int proxyPort = 8087; /** * Encoding* @param source * @return */ public static String urlEncode(String source,String encode) { String result = source; try { result = java.net.URLEncoder.encode(source,encode); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return "0"; } return result; } public static String urlEncodeGBK(String source) { String result = source; try { result = java.net.URLEncoder.encode(source,"GBK"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return "0"; } return result; } /** * Initiate an http request to get the return result* @param req_url Request address* @return */ public static String httpRequest(String req_url) { StringBuffer buffer = new StringBuffer(); try { URL url = new URL(req_url); HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection(); httpUrlConn.setDoOutput(false); httpUrlConn.setDoInput(true); httpUrlConn.setUseCaches(false); httpUrlConn.setRequestMethod("GET"); httpUrlConn.connect(); // Convert the returned input stream into a string InputStream inputStream = httpUrlConn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; while ((str = bufferedReader.readLine()) != null) { buffer.append(str); } bufferedReader.close(); inputStreamReader.close(); // Release the resource inputStream.close(); inputStream = null; httpUrlConn.disconnect(); } catch (Exception e) { System.out.println(e.getStackTrace()); } return buffer.toString(); } /** * Send http request to obtain the returned input stream* @param requestUrl Request address* @return InputStream */ public static InputStream httpRequestIO(String requestUrl) { InputStream inputStream = null; try { URL url = new URL(requestUrl); HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection(); httpUrlConn.setDoInput(true); httpUrlConn.setRequestMethod("GET"); httpUrlConn.connect(); // Get the returned inputStream = httpUrlConn.getInputStream(); } catch (Exception e) { e.printStackTrace(); } return inputStream; } /** * Send a request to the specified URL* * @param url * URL to send the request * @param param * Request parameters, the request parameters should be in the form of name1=value1&name2=value2. * @return URL Response result of the remote resource represented by the remote resource*/ public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // Open the connection between the URL URLConnection connection = realUrl.openConnection(); // Set the general request attribute connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // Create an actual connection connection.connect(); // Get all response header fields Map<String, List<String>> map = connection.getHeaderFields(); // traverse all response header fields for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // Define the BufferedReader input stream to read the URL's response in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("Exception occurred when sending a GET request!" + e); e.printStackTrace(); } // Use finally block to close the input stream finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } /** * Send a request to the specified URL * @param url * URL to send the request * @param param * Request parameter, the request parameter should be in the form of name1=value1&name2=value2. * @param isproxy * Whether to use proxy mode* @return Response result of the remote resource represented by the @return */ public static String sendPost(String url, String param,boolean isproxy) { OutputStreamWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); HttpURLConnection conn = null; if(isproxy){//Use proxy mode @SuppressWarnings("static-access") Proxy proxy = new Proxy(Proxy.Type.DIRECT.HTTP, new InetSocketAddress(proxyHost, proxyPort)); conn = (HttpURLConnection) realUrl.openConnection(proxy); }else{ conn = (HttpURLConnection) realUrl.openConnection(); } // Open the connection to the URL// To send a POST request, you must set the following two lines conn.setDoOutput(true); conn.setDoInput(true); conn.setRequestMethod("POST"); // POST method// Set the general request attribute conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.connect(); // Get the output stream corresponding to the URLConnection object out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8"); // Send request parameter out.write(param); // Buffered out.flush() of flush output stream; // Define the BufferedReader input stream to read the URL response in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("Send POST There is an exception in the request! "+e); e.printStackTrace(); } //Use finally blocks to close the output stream and the input stream finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result; } public static void main(String[] args) { //demo:Agent access String url = "http://api.adf.ly/api.php"; String para = "key=youkeyid&youuid=uid&advert_type=int&domain=adf.ly&url=http://somewebsite.com"; String sr=HttpRequestUtil.sendPost(url,para,true); System.out.println(sr); } }I hope this article will be helpful to everyone to learn Java programming.