package tools;
public class HttpClient {
}
//
//import java.io.BufferedReader;
//import java.io.ByteArrayOutputStream;
//import java.io.DataOutputStream;
//import java.io.FileInputStream;
//import java.io.IOException;
//import java.io.InputStreamReader;
//import java.io.OutputStream;
//import java.io.PrintWriter;
//import java.net.HttpURLConnection;
//import java.net.URL;
//import java.net.URLConnection;
//import java.util.List;
//import java.util.Map;
//
//import server_HTTP.ServletServer;
//
//public class HttpClient {
// /**
// * 向指定URL发送GET方法的请求
// *
// * @param url
// * 发送请求的URL
// * @param param
// * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
// * @return URL 所代表远程资源的响应结果
// */
// public static String sendGet(String url, String param) {
// String result = "";
// BufferedReader in = null;
// try {
// String urlNameString = url + "?" + param;
// 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();
// // 获取所有响应头字段
// Map<String, List<String>> map = connection.getHeaderFields();
// // 遍历所有的响应头字段
// for (String key : map.keySet()) {
// System.out.println(key + "--->" + map.get(key));
// }
// // 定义 BufferedReader输入流来读取URL的响应
// in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
// String line;
// while ((line = in.readLine()) != null) {
// result += line;
// }
// } catch (Exception e) {
// System.out.println("发送GET请求出现异常!" + e);
// e.printStackTrace();
// }
// // 使用finally块来关闭输入流
// finally {
// try {
// if (in != null) {
// in.close();
// }
// } catch (Exception e2) {
// e2.printStackTrace();
// }
// }
// return result;
// }
//
// /**
// * 向指定 URL 发送POST方法的请求
// *
// * @param url
// * 发送请求的 URL
// * @param param
// * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
// * @return 所代表远程资源的响应结果
// */
// public static String sendPost(String url, String param) {
// PrintWriter out = null;
// BufferedReader in = null;
// String result = "";
// try {
// URL realUrl = new URL(url);
// // 打开和URL之间的连接
// URLConnection conn = realUrl.openConnection();
// // 设置通用的请求属性
// conn.setRequestProperty("accept", "*/*");
// conn.setRequestProperty("connection", "Keep-Alive");
// conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// // 发送POST请求必须设置如下两行
// conn.setDoOutput(true);
// conn.setDoInput(true);
// // 获取URLConnection对象对应的输出流
// out = new PrintWriter(conn.getOutputStream());
// // 发送请求参数
// out.print(param);
//
// // 发送图片
// OutputStream outputStream = conn.getOutputStream();
//
// // flush输出流的缓冲
// out.flush();
// // 定义BufferedReader输入流来读取URL的响应
// in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
// String line;
// while ((line = in.readLine()) != null) {
// result += line;
// }
// } catch (Exception e) {
// System.out.println("发送 POST 请求出现异常!" + e);
// e.printStackTrace();
// }
// // 使用finally块来关闭输出流、输入流
// finally {
// try {
// if (out != null) {
// out.close();
// }
// if (in != null) {
// in.close();
// }
// } catch (IOException ex) {
// ex.printStackTrace();
// }
// }
// return result;
// }
//
// public HttpClient() {
//
// }
//
// // public static void main(String args[]) {
// // // new HttpClient();
// // sendPost("http://192.168.45.17:8080/MiniWechat/TransferFile",
// // "type=Image&imageName=1.jpg");
// // }
//
// static String sessionId = "";
//
// public static String getPicBASE64() {
// String picPath = "D:/1.jpg";
// String content = "";
// try {
// FileInputStream fileForInput = new FileInputStream(picPath);
// byte[] bytes = new byte[fileForInput.available()];
// fileForInput.read(bytes);
// content = new sun.misc.BASE64Encoder().encode(bytes); // 具体的编码方法
// fileForInput.close();
// // System.out.println(content.length());
// } catch (Exception e) {
// e.printStackTrace();
// }
// return content;
// }
//
// public static void main(String[] args) throws Exception {
// URL url = new URL("http://192.168.45.17:8080/MiniWechat/TransferFile");
// HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// connection.setDoOutput(true);
// // Read from the connection. Default is true.
// connection.setDoInput(true);
// // Set the post method. Default is GET
// connection.setRequestMethod("POST");
// // Post cannot use caches
// // Post 请求不能使用缓存
// connection.setUseCaches(false);
// // This method takes effects to
// // every instances of this class.
// // URLConnection.setFollowRedirects是static函数,作用于所有的URLConnection对象。
// // connection.setFollowRedirects(true);
// // This methods only
// // takes effacts to this
// // instance.
// // URLConnection.setInstanceFollowRedirects是成员函数,仅作用于当前函数
// connection.setInstanceFollowRedirects(false);
// // Set the content type to urlencoded,
// // because we will write
// // some URL-encoded content to the
// // connection. Settings above must be set before connect!
// // 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
// // 意思是正文是urlencoded编码过的form参数,下面我们可以看到我们对正文内容使用URLEncoder.encode
// // 进行编码
// connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// // 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
// // 要注意的是connection.getOutputStream会隐含的进行connect。
// connection.connect();
// Long sendTime = System.currentTimeMillis();
// DataOutputStream out = new DataOutputStream(connection.getOutputStream());
// // 要传的参数
//// String content = URLEncoder.encode("type", "UTF-8") + "=" + URLEncoder.encode("UpdateImage", "UTF-8");
//// content += "&" + URLEncoder.encode("imageName", "UTF-8") + "=" + URLEncoder.encode("1.jpg", "UTF-8");
// String content = "type=UpdateImage&imageName=1.jpg&";
// // 得到图片的base64编码
//// content = content + "&" + URLEncoder.encode("file", "UTF-8") + "=" + URLEncoder.encode(getPicBASE64(), "UTF-8");
//
// ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// outputStream.write(content.getBytes());
//// System.out.println(ServletServer.CLIENT_PATH + "1.jpg");
// outputStream.write(DataTypeTranslater.fileToByte(ServletServer.CLIENT_PATH + "1.jpg"));
//
// out.write(outputStream.toByteArray());
// out.flush();
// out.close(); // flush and close
// // Get Session ID
// String key = "";
// if (connection != null) {
// for (int i = 1; (key = connection.getHeaderFieldKey(i)) != null; i++) {
// if (key.equalsIgnoreCase("set-cookie")) {
// sessionId = connection.getHeaderField(key);
// sessionId = sessionId.substring(0, sessionId.indexOf(";"));
// }
// }
// }
// }
//}