短信服务

最近由于政策原因,阿里云,腾讯等短信服务都需要申请正式的签名和模板才能使用,而“签名内容”应为网站在工信部备案的“网站名称”全称或简称,并上传证明文件,这一点对于个人学习来说简直是一大打击

image.png image.png 在这里给大家推荐一个短信服务平台 www.qunfaduanxin.vip/main/index image.png 每个账号有两条短信的额度,大家可以多使用几个账号,一般就能够满足个人学习使用,而且官方也提供了java的模板代码,示例如下:

package com..thirdtest;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;

/**
 * @ClassName HttpRequest
 * @Description
 * @Author jinlong
 * @Date 2021/10/11 10:08
 * Version 1.0
 **/
public class HttpRequest {
    /**
     * 向指定 URL 发送POST方法的请求
     * @param url
     * @param param
     * @param charset
     * @return
     */
    public static String sendPost(String url, String param, String charset) {
        OutputStreamWriter out = null;
        BufferedReader in = null;
        String result = "";
        if (null == charset || "".equals(charset)) {
            charset = "UTF-8";
        }
        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);
            conn.connect();
            // 获取URLConnection对象对应的输出流
            out = new OutputStreamWriter(conn.getOutputStream(), charset);
            // 发送请求参数
            out.write(param);
            // flush输出流的缓冲
            out.flush();
            out.close();
            // 定义BufferedReader输入流来读取URL的响应
            in = new BufferedReader(
                    new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }

        } catch (Exception e) {
            System.err.println("Send POST Error :::: " + e);
            e.printStackTrace();
        }
        //使用finally块来关闭输出流、输入流
        finally {
            try {
                if (out != null) {
                    out.close();
                }
                if (in != null) {
                    in.close();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        return result;
    }

    //调用方式
    public static void main(String[] args) {

        //编码格式
        String charset = "UTF-8";

        //拼接参数(根据需要,拼接所需要发送的参数)
        String postData = "username=3332114904237&password=C74027F754BAB15A83E325204CFCAE190E" +
                "&gwid=f4wy0z32f2&" +
                "mobile=1898984632514&message=【聚天下电商平台】您的验证码是:123456,您正在登录,若非本人操作,请勿泄露。";

        //短信发送请求接口
        String url="http://www.qunfaduanxin.vip/api/send";
        //短信回执
        String url1="http://www.qunfaduanxin.vip/api/receive";
        String postData1="username=332311492323047&password=C3274027F754BAB15A3238323E5204CFCAE32190E";

        //发送并把结果赋给result,返回一个XML信息,解析xml 信息判断
        String result=HttpRequest.sendPost(url, postData, charset);

        System.out.println("短信发送成功,返回结果是:"+result);

    }
}
复制代码

测试是可以成功发送的 image.png 返回值以及参数说明可以参考官方网站。 image.png

猜你喜欢

转载自juejin.im/post/7017680618225926151