work_23_常用的工具类

1.发送get,post请求

常用与多个项目之间调用


public class HttpUtils {
/**
* 向指定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("Content-Type", "application/json");
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);
// 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;
}
}
 

2.邮件发送

pom
<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency>
 <groupId>javax.mail</groupId>
 <artifactId>mail</artifactId>
 <version>1.4.7</version>
</dependency>
短信pojo
public class EmailInfo {
 
 private String smtpServer;// SMTP服务器地址
 private String port; // 端口
 private String fromUser;// 登录SMTP服务器的用户名,发送人邮箱地址
 private String fromUserPassword;// 登录SMTP服务器的密码
 private String toUser; // 收件人
 private String subject; // 邮件主题
 private String content; // 邮件正文
 
 public EmailInfo(String toUser, String subject, String content) {
 this.toUser = toUser;
 this.subject = subject;
 this.content = content;
 this.smtpServer = "smtp.tianxiapass.com";
 this.port = "25";
 this.fromUser = "support@tianxiapass.com";
 this.fromUserPassword = "*********";
 }
}
短信发送EmailUtils
public class EmailUtils {
 
 public static void sendMail(EmailInfo emailInfo) throws Exception {
 Properties prop = new Properties();
 prop.put("mail.host", "smtp.mxhichina.com");
 prop.put("mail.transport.protocol", "smtp");
 prop.put("mail.smtp.auth", "true");
 Session session = Session.getInstance(prop);
 session.setDebug(true);
 Transport ts = session.getTransport();
 ts.connect(emailInfo.getFromUser(), emailInfo.getFromUserPassword());
 Message message = new MimeMessage(session);
 message.setFrom(new InternetAddress(emailInfo.getFromUser()));
 message.setRecipient(Message.RecipientType.TO, new InternetAddress(emailInfo.getToUser()));
 message.setSubject(emailInfo.getSubject());
 message.setContent(emailInfo.getContent(), "text/html;charset=utf-8");
 ts.sendMessage(message, message.getAllRecipients());
 }
}
 
原文地址:https://www.cnblogs.com/asndxj/p/13597171.html