精华内容
下载资源
问答
  • 验证码:找回密码,登陆,绑定银行卡是点击获取验证码,由系统发送一条验证信息给当前手机,求各位大牛指教
  • 直接上工具类 ...import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; impor...

    直接上工具类

    package com.okrsoa.commons.util;
    
    import java.io.BufferedReader;
    import java.io.DataOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.util.HashMap;
    import java.util.Map;
    
    import com.alibaba.fastjson.JSONObject;
     
    
    /**
     * @describe 聚合短信发送 
     */
    public class JuheSmsUtil {
    	
    	public static final String DEF_CHATSET = "UTF-8";
    	public static final int DEF_CONN_TIMEOUT = 30000;
    	public static final int DEF_READ_TIMEOUT = 30000;
    	public static String userAgent =  "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
    	
    	//配置您申请的KEY
    	public static final String APPKEY = "";
    	
     
    	 
    	//发送短信
    	public static void sendSms(String mobile, String name,String oaurl){
    		 
    		String result = null;
    		String url = "http://v.juhe.cn/sms/send";//请求接口地址
    		
    		Map<String,String> params = new HashMap();//请求参数
    		
    		params.put("mobile", mobile);//接收短信的用户手机号码
    		params.put("tpl_id", "197394");//您申请的短信模板ID,请参考个人中心短信模板设置
    		params.put("tpl_value", "#OA_NAME#=" + name+"&#OA_URL#=" + oaurl);//你设置的模板变量URLDecoder.decode(code, "UTF-8");(页面encodeURI(encodeURI(code)));
    		//变量名和变量值对。如果你的变量名或者变量值中带有#&=中的任意一个特殊符号,请先分别进行urlencode编码后再传递,<a href="http://www.juhe.cn/news/index/id/50" target="_blank">详细说明></a>
    		params.put("key", APPKEY);//应用APPKEY
    		params.put("dtype", "");//返回数据的格式,xml或json,默认json
    		
    		try {
                result =net(url, params, "GET");
                JSONObject object = JSONObject.parseObject(result);
                if(object.getInteger("error_code")==0){
                    System.out.println(object.get("result"));
                }else{
                    System.out.println(object.get("error_code")+":"+object.get("reason"));
                }
            } catch (Exception e) {
            	 
                e.printStackTrace();
            }
    	}
    	
    	/**
    	 * 
    	 * @param strUrl 请求地址
    	 * @param params 请求参数
    	 * @param method 请求方法
    	 * @return
    	 * @throws Exception
    	 */
    	public static String net(String strUrl, Map<String,String> params, String method) throws Exception{
    		
    		HttpURLConnection conn = null;
    		BufferedReader reader = null;
    		String rs = null;
    		try {
    			StringBuffer sb = new StringBuffer();
    			if(method==null || method.equals("GET")){
    				strUrl = strUrl+"?"+urlencode(params);
    			}
    			URL url = new URL(strUrl);
    			conn = (HttpURLConnection) url.openConnection();
    			if(method==null || method.equals("GET")){
    				conn.setRequestMethod("GET");
    			}else{
    				conn.setRequestMethod("POST");
    				conn.setDoOutput(true);
    			}
    			conn.setRequestProperty("User-agent", userAgent);
    			conn.setUseCaches(false);
    			conn.setConnectTimeout(DEF_CONN_TIMEOUT);
    			conn.setReadTimeout(DEF_READ_TIMEOUT);
    			conn.setInstanceFollowRedirects(false);
    			conn.connect();
    			if (params!= null && method.equals("POST")) {
    				try {
    					DataOutputStream out = new DataOutputStream(conn.getOutputStream());
    					out.writeBytes(urlencode(params));
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    			InputStream is = conn.getInputStream();
    			reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
    			String strRead = null;
    			while ((strRead = reader.readLine()) != null) {
    				sb.append(strRead);
    			}
    			rs = sb.toString();
    		} catch (IOException e) {
    			e.printStackTrace();
    		} finally {
    			if (reader != null) {
    				reader.close();
    			}
    			if (conn != null) {
    				conn.disconnect();
    			}
    		}
    		return rs;
    		
    	}
    	
    	//将map型转为请求参数型
    		public static String urlencode(Map<String,String> data) {
    			StringBuilder sb = new StringBuilder();
    			for (Map.Entry i : data.entrySet()) {
    				try {
    					sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
    				} catch (UnsupportedEncodingException e) {
    					e.printStackTrace();
    				}
    			}
    			return sb.toString();
    		}
    }
    
    
    展开全文
  • 发现本地能发送短信,服务器却超时   5.0解决方法。。。由于服务器和本地的环境不同。。检查端口是否开放权限 最重要的….将ip从沙箱设置为app… SERVER_IP = "app.cloopen.com" ; 6.0 clean ...
    1. 先看看错误日志

    2019-01-11 09:21:32,242 INFO [pool-3-thread-1] com.ejavashop.core.sms.xfbsms.utils.LoggerUtil.info(45) -- Fri Jan 11 09:21:32 CST 2019 sendTemplateSMS url = https://sandboxapp.cloopen.com:8883/2013-12-26/Accounts/aaf98f8952f7367a01530c5dd33626c6/SMS/TemplateSMS?sig=7939BE20B60257805AF0B6A99B28ED38

     2019-01-11 09:21:32,243 INFO [pool-3-thread-1] com.ejavashop.core.sms.xfbsms.utils.LoggerUtil.info(45) -- Fri Jan 11 09:21:32 CST 2019 sendTemplateSMS Request body =  {"appId":"8aaf07085e0e36d0015e279952c20746","to":"13152541141","templateId":"259015","datas":["您好,您已成功注册,您的验证码是613957【广东禧越科技】","10"]}

     2019-01-11 09:21:32,243 DEBUG [pool-3-thread-1] org.apache.http.impl.conn.BasicClientConnectionManager.getConnection(160) -- Get connection for route {s}->https://sandboxapp.cloopen.com:8883

     2019-01-11 09:21:32,278 DEBUG [pool-3-thread-1] org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(174) -- Connecting to sandboxapp.cloopen.com:8883

     

     

    2019-01-11 09:21:47,870 DEBUG [Timer-0] org.apache.http.impl.conn.LoggingManagedHttpClientConnection.shutdown(87) -- http-outgoing-85: Shutdown connection

     2019-01-11 09:21:47,871 DEBUG [Timer-0] org.apache.http.impl.execchain.ConnectionHolder.abortConnection(128) -- Connection discarded

     2019-01-11 09:21:47,871 DEBUG [Timer-0] org.apache.http.impl.conn.LoggingManagedHttpClientConnection.close(79) -- http-outgoing-85: Close connection

     2019-01-11 09:21:47,871 DEBUG [Timer-0] org.apache.http.impl.conn.PoolingHttpClientConnectionManager.releaseConnection(320) -- Connection released: [id: 85][route: {}->http://183.232.34.84:8080][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]

     org.apache.http.conn.ConnectTimeoutException: Connect to 183.232.34.84:8080 [/183.232.34.84] failed: Connection timed out

    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:149)

    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)

    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)

    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)

    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)

    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)

    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)

    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)

    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)

    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)

    at com.ejavashop.core.HttpClientUtil.sendGet(HttpClientUtil.java:36)

    at com.ejavashop.web.job.IndexCacheTimerTask.run(IndexCacheTimerTask.java:40)

    at java.util.TimerThread.mainLoop(Timer.java:555)

    at java.util.TimerThread.run(Timer.java:505)

    Caused by: java.net.ConnectException: Connection timed out

    at java.net.PlainSocketImpl.socketConnect(Native Method)

    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

    at java.net.Socket.connect(Socket.java:589)

    at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)

    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)

    ... 13 more

    2019-01-11 09:21:47,871 DEBUG [Timer-0] org.apache.http.impl.conn.PoolingHttpClientConnectionManager.shutdown(388) -- Connection manager is shutting down

     2019-01-11 09:21:47,872 DEBUG [Timer-0] org.apache.http.impl.conn.PoolingHttpClientConnectionManager.shutdown(394) -- Connection manager shut down

     2019-01-11 09:21:47,872 INFO [Timer-0] com.ejavashop.web.job.IndexCacheTimerTask.run(46) -- ----------------定时器执行结束-----------------------

     2019-01-11 09:21:56,433 DEBUG [Timer-1] org.apache.http.impl.conn.LoggingManagedHttpClientConnection.shutdown(87) -- http-outgoing-85: Shutdown connection

     2019-01-11 09:21:56,433 DEBUG [Timer-1] org.apache.http.impl.execchain.ConnectionHolder.abortConnection(128) -- Connection discarded

     2019-01-11 09:21:56,434 DEBUG [Timer-1] org.apache.http.impl.conn.LoggingManagedHttpClientConnection.close(79) -- http-outgoing-85: Close connection

     2019-01-11 09:21:56,434 DEBUG [Timer-1] org.apache.http.impl.conn.PoolingHttpClientConnectionManager.releaseConnection(320) -- Connection released: [id: 85][route: {}->http://183.232.34.84:8080][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]

     org.apache.http.conn.ConnectTimeoutException: Connect to 183.232.34.84:8080 [/183.232.34.84] failed: Connection timed out

    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:149)

    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)

    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)

    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)

    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)

    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)

    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)

    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)

    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)

    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)

    at com.ejavashop.core.HttpClientUtil.sendGet(HttpClientUtil.java:36)

    at com.ejavashop.web.job.IndexCacheTimerTask.run(IndexCacheTimerTask.java:40)

    at java.util.TimerThread.mainLoop(Timer.java:555)

    at java.util.TimerThread.run(Timer.java:505)

    Caused by: java.net.ConnectException: Connection timed out

    at java.net.PlainSocketImpl.socketConnect(Native Method)

    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

    at java.net.Socket.connect(Socket.java:589)

    at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)

    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)

    ... 13 more

    2019-01-11 09:21:56,434 DEBUG [Timer-1] org.apache.http.impl.conn.PoolingHttpClientConnectionManager.shutdown(388) -- Connection manager is shutting down

     2019-01-11 09:21:56,434 DEBUG [Timer-1] org.apache.http.impl.conn.PoolingHttpClientConnectionManager.shutdown(394) -- Connection manager shut down

     2019-01-11 09:21:56,434 INFO [Timer-1] com.ejavashop.web.job.IndexCacheTimerTask.run(46) -- ----------------定时器执行结束-----------------------

    2.0

    首先从main方法开始。。。图中箭头从左到右依次为 手机号,模板号,验证码。。有效期

    3.0 检查一些参数

     

    4.执行main方法

     

    发现本地能发送短信,服务器却超时

     

    5.0解决方法。。。由于服务器和本地的环境不同。。检查端口是否开放权限

    最重要的….将ip从沙箱设置为app…    SERVER_IP = "app.cloopen.com";

    6.0 clean install package 上传服务器

    完成

    展开全文
  • package com.shopping.utils; import ... import org.springframework.stereotype.Component; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import ja...
    package com.shopping.utils;
    import com.alibaba.fastjson.JSONObject;
    import org.springframework.stereotype.Component;
    import java.io.*;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.util.HashMap;
    import java.util.Map;
    /**
     * Author:
     * Date:
     * Description:<描述>
     */
    @Component
    public class smsUtil {
        /**
         * 短信API服务调用示例代码 - 聚合数据
         * 在线接口文档:http://www.juhe.cn/docs/54
         **/
        public static final String DEF_CHATSET = "UTF-8";
        public static final int DEF_CONN_TIMEOUT = 30000;
        public static final int DEF_READ_TIMEOUT = 30000;
        public static String userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0";
    
        //配置您申请的KEY
        public static final String APPKEY = "";
    
        //1.屏蔽词检查测
        public static void getRequest1() {
            String result = null;
            String url = "http://v.juhe.cn/sms/send";//请求接口地址
            Map params = new HashMap();//请求参数
            params.put("word", "");//需要检测的短信内容,需要UTF8 URLENCODE
            params.put("key", APPKEY);//应用APPKEY(应用详细页查询)
    
            try {
                result = net(url, params, "GET");
                JSONObject object = JSONObject.parseObject(result);
                if (object.getInteger("error_code") == 0) {
                    System.out.println(object.get("result"));
                } else {
                    System.out.println(object.get("error_code") + ":" + object.get("reason"));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        //2.发送短信
        public static void sendSms() {
            String result = null;
            String url = "http://v.juhe.cn/sms/send";//请求接口地址
            Map params = new HashMap();//请求参数
            params.put("mobile", "");//接收短信的手机号码
            params.put("tpl_id", "");//短信模板ID,请参考个人中心短信模板设置
    
            params.put("tpl_value", "");//变量名和变量值对。如果你的变量名或者变量值中带有#&=中的任意一个特殊符号,请先分别进行urlencode编码后再传递,<a href="http://www.juhe.cn/news/index/id/50" target="_blank">详细说明></a>
            params.put("key", APPKEY);//应用APPKEY(应用详细页查询)
            params.put("dtype", "json");//返回数据的格式,xml或json,默认json
    
            try {
                result = net(url, params, "GET");
                JSONObject object = JSONObject.parseObject(result);
                if (object.getInteger("error_code") == 0) {
                    System.out.println(object.get("result"));
                } else {
                    System.out.println(object.get("error_code") + ":" + object.get("reason"));
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    
        /**
         * @param strUrl 请求地址
         * @param params 请求参数
         * @param method 请求方法
         * @return 网络请求字符串
         * @throws Exception
         */
        public static String net(String strUrl, Map params, String method) throws Exception {
            HttpURLConnection conn = null;
            BufferedReader reader = null;
            String rs = null;
            try {
                StringBuffer sb = new StringBuffer();
                if (method == null || method.equals("GET")) {
                    strUrl = strUrl + "?" + urlencode(params);
                }
                URL url = new URL(strUrl);
                conn = (HttpURLConnection) url.openConnection();
                if (method == null || method.equals("GET")) {
                    conn.setRequestMethod("GET");
                } else {
                    conn.setRequestMethod("POST");
                    conn.setDoOutput(true);
                }
                conn.setRequestProperty("User-agent", userAgent);
                conn.setUseCaches(false);
                conn.setConnectTimeout(DEF_CONN_TIMEOUT);
                conn.setReadTimeout(DEF_READ_TIMEOUT);
                conn.setInstanceFollowRedirects(false);
                conn.connect();
                if (params != null && method.equals("POST")) {
                    try {
                        DataOutputStream out = new DataOutputStream(conn.getOutputStream());
                        out.writeBytes(urlencode(params));
                    } catch (Exception e) {
                        // TODO: handle exception
                    }
                }
                InputStream is = conn.getInputStream();
                reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
                String strRead = null;
                while ((strRead = reader.readLine()) != null) {
                    sb.append(strRead);
                }
                rs = sb.toString();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (reader != null) {
                    reader.close();
                }
                if (conn != null) {
                    conn.disconnect();
                }
            }
            return rs;
        }
    
        //将map型转为请求参数型
        public static String urlencode(Map<String, Object> data) {
            StringBuilder sb = new StringBuilder();
            for (Map.Entry i : data.entrySet()) {
                try {
                    sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue() + "", "UTF-8")).append("&");
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
            }
            return sb.toString();
        }
    }
    
    展开全文
  • java编写的调用国内第三方平台发送短信的例子及相关文档
  • 主要介绍了JAVA实现第三方短信发送过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Java调用第三方平台发送手机短信

    千次阅读 2019-10-25 16:13:35
    1.第三方短信平台API 使用Java发送手机短信,一般要通过第三方的短信平台完成,所以我们可以先选择一家短信平台,注册用户。这里我们选择中国建网完成短信发送。 1.先到中国网建...

    1.第三方短信平台API
    使用Java发送手机短信,一般要通过第三方的短信平台完成,所以我们可以先选择一家短信平台,注册用户。这里我们选择中国建网完成短信发送。
    1.先到中国网建(http://sms.webchinese.cn/default.shtml)注册用户,可以获得5条免费短信用于测试,用完了可以继续充值或者打电话申请多几条免费短信(请说明是用于开发测试)。
    2.注册的用户会获得一个密钥,编程时候要用以标识身份。登录后点击“修改短信密钥”可以看到密钥。
    3.做了这些准备工作,如何发送短信呢,短信平台会提供调用方式,在首页点击“短信API接口”,我们可以查看API说明,实际上是通过表单提交的请求来说明各种参数的。
    2.具体实现步骤
    (1)准备所需要的jar包

    <!-- commons-logging.jar -->
    	<dependency>
    		<groupId>commons-logging</groupId>
    		<artifactId>commons-logging</artifactId>
    		<version>1.2</version>
    	</dependency>
    	<!-- commons-httpclient.jar -->
    	<dependency>
    		<groupId>commons-httpclient</groupId>
    		<artifactId>commons-httpclient</artifactId>
    		<version>3.1</version>
    	</dependency>
    	<!-- commons-codec.jar -->
    	<dependency>
    		<groupId>commons-codec</groupId>
    		<artifactId>commons-codec</artifactId>
    		<version>1.10</version>
    	</dependency>
    

    (2)封装SmsSender工具类
    使用到“commons-httpclient.jar”用来向第三方平台发送POST请求。

    public class SmsSender {
    	public int sendSms(String phoneNr, String message) throws HttpException, IOException {
    		//使用commons-httpclient向第三方平台包发送POST请求
    		HttpClient client = new HttpClient();
    		PostMethod post = new PostMethod("http://utf8.sms.webchinese.cn");
    		post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
    		NameValuePair[] data = { 
    				new NameValuePair("Uid", "xxxxxxxxxx"), 		 	//注册用户名,请修改
    				new NameValuePair("Key", "xxxxxxxxxx"), 			//密钥,请求修改
    				new NameValuePair("smsMob", phoneNr), 				//手机号码
    				new NameValuePair("smsText", message) };			//短信内容
    		post.setRequestBody(data);
    		client.executeMethod(post);					//发送请求
    		int statusCode = post.getStatusCode();
    		System.out.println("statusCode:" + statusCode);
    		if(statusCode!=200){
    			throw new RuntimeException("短信平台发送不成功,状态吗:"+statusCode);
    		}
    		//返回的短信发送状态信息,含义详见中国网建的API说明
    		String result = new String(post.getResponseBodyAsString().getBytes("utf-8"));
    		System.out.println(result); // 打印返回消息状态
    		return Integer.parseInt(result);
    	}
    }
    

    (3)制作一个简单界面测试短信发送
    JSP页面:

    <h3>短信发送测试</h3>
    	<form action="sms" method="post">
    	手机号码:<input name="phoneNr" /><br/>
    	短信消息:<input name="message" /> <button>发送</button>
    	</form>
    	<label style="color:red">${error}</label>
    Servlet部分:
    @WebServlet("/sms")
    public class SmsServlet extends HttpServlet {
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
    throws ServletException, IOException {
    		req.setCharacterEncoding("UTF-8");
    		String phoneNr = req.getParameter("phoneNr");
    		String message = req.getParameter("message");
    		SmsSender smsSender = new SmsSender();
    		int code = smsSender.sendSms(phoneNr, message);
    		if(code == 1){
    			resp.sendRedirect(req.getContextPath()+"/success.jsp");
    		}else{
    			req.setAttribute("error", "短信发送不成功,错误编号:"+code);
    			req.getRequestDispatcher("test.jsp").forward(req, resp);
    		}
    	}
    }
    

    运行效果如下图所示。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 最近在做用户登陆注册模块的时候用到了采用第三方短信接口发送短信验证码,查询了一些网站和参考了一些别人的方法,我用的是网建短信通的,没有打广告的成分!用别的也可以阿里云平台的。 首先还是登陆注册用户信息...
  • java开发第三方短信校验工具类,可以直接调用。包含jar包。
  • 在项目发送短信方案中通过第三方提供的http链接方式来发送短信,采用了java sockt方案来解决,但是在应用过程中出现了一个奇怪的问题,加以记录: 代码如下: import java.io.BufferedReader; import java.io....
  • Java调用第三方接口(http总结)

    千次阅读 2019-09-01 12:32:57
    一般情况下都是 后端提供接口,前端调用,解决需求,但是有的时候为了方便,复用别人的接口(网上的,公共的第三方接口(短信、天气等)),就出现了后端调用后端接口的情况。(类似JavaScript中的ajax一样获取数据...
  • 文章目录1、概述2、java调用第三方http接口的方式2.1 通过jdk网络类java.net.HttpURLConnection2.2 通过apache common封装好的HttpClient2.3 通过Apache封装好的CloseableHttpClient2.4 通过SpringBoot-RestTemplate...
  • Java代码调用第三方接口发送短信

    千次阅读 2018-01-22 11:33:17
    添加依赖:  com.sun.mail    javax.mail   public class Message...//短信服务提供商。这个就百度吧,很多,真的很多。我随便找的一家提供商。  private static String Url = "http://106.ihu
  • 本实例调用互亿无线触发短信接口,采用commons-httpclient-3.1.jar及dom4j-1.6.1.jar俩个jar包实现,可根据个人需求更改调用接口 //接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。 //...
  • javaweb调用第三方短信接口

    千次阅读 2018-06-30 16:24:18
    这是个存在一个bug(自己去发现哈哈,不安全)的短信验证接口,调用第三方的平台,原理就是你这边随机生成一个六位字符串,字符串放到人家的平台上,让人家帮你通过短信的方式发送到指定的人的手机号上,开始。...
  • 调用第三方短信平台的接口,实时发送短信。需要申请一个帐号(account)和密码(password)。
  • 短信验证登录咱就不多说了,为啥推荐用秒嘀,秒嘀的网页没有广告,并且注册送十块足够新手使用了。但是秒嘀的其它功能需要上传营业执照。 注册账号 https://sms.miaodiyun.com/login.html 模板的添加 后台代码的...
  • 本文以注册为例,在SpringMVC+Spring+Mybatis框架的基础上完成该短信验证码功能。需要的朋友一起来看下吧
  • 手机APP登录方式,除了短信验证码登录之外,还可以绑定第三方社交账号进行登录,但是手机验证码登录是必不可少的一个环节,可以在后期客户维护起到至关重要的作用。 这次是从前端和后端给介绍第三方短信验证码...
  • 发送短信验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过sessionid判断对应的session,用户输入的验证码再与session记录的...一般的第三方短信平台都会有他们自己的短信接口,只
  • java调用第三方接口出现UnknownHostException,常用方法都试了解决不了,看看我这个方法吧 各种文章都看了,说需要配置resttemplate,负载均衡等,这些常见的问题基本上用这写方法都可以解决,可是我的问题一直没有...
  • 1.找一个第三方短信验证码接口API 例如: https://www.juhe.cn/ 2.注册账户,登录 3.找到对应的模板id和appKey 4.代码实现 package com.c; import java.io.BufferedReader; import java.io....
  •  这样 第三方控制台就设置好了,如果 想要更安全点,可是设置黑白名单之类的,添加的是服务器IP。还可以查看日志,只要调用了他们的接口,无论是成功还是失败都有日志的 ,很清楚,其它的就不在这啰嗦了,可以自己...
  • 第三方短信验证

    千次阅读 2016-10-20 18:18:15
    这个是我基于eclipse写的一个ShareSDK的短信验证不说太多直接上代码了,里面的注释清晰 这是Activityimport java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import...
  • 例:调用第三方短信接口,如果写成util更换时,每个调用发信息的地方都需要修改。如果写成接口形式,只需要把实现类从一个第三方换成另一个第三方的实现方法即可,他们要做的事都是发信息,接口...
  • 一、使用get方式调用(返回json) protected void service(HttpServletRequest request, HttpServletResponse response){ response.setCharacterEncoding("utf-8"); response.setContentType("...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,806
精华内容 7,922
关键字:

java调用第三方短信

java 订阅