这里的短信发送是须要本身花钱买短信发送条数的java
这里分享一个在阿里云上购买的一家短信发送方法api
/** * 短信内容发送 */ public static String getMessageTextAlerts(Map<String, Object> map) { //这里的map主要包含手机号 String phone = map.get("phone").toString(); String host = "http://mobai.market.alicloudapi.com"; String path = "/mobai_sms"; String method = "POST"; //买了短信服务以后会给你一个appcode String appcode = "xxxxxxxxx1984ed3900ffd3xxxxxxxxx"; Map<String, String> headers = new HashMap<String, String>(); headers.put("Authorization", "APPCODE " + appcode); Map<String, String> querys = new HashMap<String, String>(); //随机数本身生成 Random random = new Random(); String num = random.nextInt(10000)+""; if(num.length() <= 3) { num = num + 1; } System.out.println("num------->"+num); num = "code:"+num; querys.put("param", num); querys.put("phone", phone); querys.put("templateId", "TP1801293"); Map<String, String> bodys = new HashMap<String, String>(); try { HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys); System.out.println("response.toString()===>"+response.toString()); } catch (Exception e) { e.printStackTrace(); } return num; }
附加一个ip地址的获取方法,有时候登陆注册须要一些逻辑判断app
/** * 获取用户真实IP地址,不使用request.getRemoteAddr();的缘由是有可能用户使用了代理软件方式避免真实IP地址, * * 但是,若是经过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪一个才是真正的用户端的真实IP呢? * 答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。 * * 如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, * 192.168.1.100 * * 用户真实IP为: 192.168.1.110 * * @param request * @return */ public String getIp(HttpServletRequest request) { String ipAddress = null; //ipAddress = this.getRequest().getRemoteAddr(); ipAddress = request.getHeader("x-forwarded-for"); if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getHeader("Proxy-Client-IP"); } if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getHeader("WL-Proxy-Client-IP"); } if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getRemoteAddr(); if (ipAddress.equals("127.0.0.1")) { //根据网卡取本机配置的IP InetAddress inet = null; try { inet = InetAddress.getLocalHost(); } catch (UnknownHostException e) { e.printStackTrace(); } ipAddress = inet.getHostAddress(); } } return ipAddress; }