See More

//package httpClient; // //import java.io.ByteArrayOutputStream; //import java.io.IOException; //import java.io.InputStream; //import java.io.OutputStreamWriter; //import java.net.HttpURLConnection; //import java.net.URL; //import java.nio.charset.StandardCharsets; //import java.util.HashMap; //import java.util.Map; // //import javax.xml.ws.Response; // //import org.omg.CORBA_2_3.portable.OutputStream; // // //class Respense { // final int code; // final byte[] data; // // public Respense(int code, byte[] data) { // this.code = code; // this.data = data; // } // // @Override // public String toString(){ // StringBuilder sb = new StringBuilder(1024); // sb.append(code).append("\n"); // String s = new String(data, StandardCharsets.UTF_8); // if (s.length() > 1024) { // sb.append(s.substring(0, 1024)).append("\n"); // } else { // sb.append(s); // } // return sb.toString(); // } //} // // //public class HttpClient { // // public static void main(String[] args) { // Response resp = get("https://www.douban.com"); // System.out.println(resp); // Map postMap = new HashMap<>(); // postMap.put("form_email", "test"); // postMap.put("form_password", "password"); // Response postResp = post("https://www.douban.com/accounts/login", "application/x-www-form-urlencoded", // toFormData(postMap)); // System.out.println(postResp); // } // // static Response get(String theUrl) { // System.err.println("GET: " + theUrl); // HttpURLConnection conn = null; // try { // URL url = new URL(theUrl); // conn = (HttpURLConnection) url.openConnection(); // ByteArrayOutputStream responseBuffer = new ByteArrayOutputStream(); // try (InputStream input = conn.getInputStream()) { // byte[] buffer = new byte[1024]; // for(;;){ // int n = input.read(buffer); // if (n == (-1)) { // break; // } // responseBuffer.write(buffer, 0, n); // } // } // return new Response(conn.getResponseCode(), responseBuffer); // // } catch (IOException e) { // throw new RuntimeException(e); // } finally { // if (conn != null) { // conn.disconnect(); // } // } // // } // static Response post(String theUrl, String contentType, String cotentData) { // System.err.println("GET: " + theUrl); // HttpURLConnection conn = null; // try { // URL url = new URL(theUrl); // conn = (HttpURLConnection) url.openConnection(); // // // conn.setRequestMethod("POST"); // conn.setDoInput(true); // byte[] postData = cotentData.getBytes(StandardCharsets.UTF_8); // conn.setRequestProperty("Content-Type", contentType); // conn.setRequestProperty("Content-Length", String.valueOf(postData.length)); // // try (OutputStream output = (OutputStream) conn.getOutputStream()) { // output.write(postData); // } // // ByteArrayOutputStream responseBuffer = new ByteArrayOutputStream(); // try (InputStream input = conn.getInputStream()) { // byte[] buffer = new byte[1024]; // for(;;){ // int n = input.read(buffer); // if (n == (-1)) { // break; // } // responseBuffer.write(buffer, 0, n); // } // } // return new Response(conn.getResponseCode(), responseBuffer); // // } catch (IOException e) { // throw new RuntimeException(e); // } finally { // if (conn != null) { // conn.disconnect(); // } // } // // } // //}