Java发送手机短信(附代码和解析,亲测有效,简便易操作)
发布日期:2021-05-09 02:05:45 浏览次数:24 分类:精选文章

本文共 2289 字,大约阅读时间需要 7 分钟。

使用中国网建SMS短信通依赖进行短信发送操作方法

随着移动应用的普及,短信发送功能已成为企业和个人必备的工具之一。本文将介绍一种基于中国网建SMS短信通服务的短信发送方法,仅需三步即可完成,且代码可直接复用。

一、导入必要依赖

为了实现短信发送功能,首先需要引入以下JAR包:

  • java.io.IOException
  • java.net.URL
  • java.util.ArrayList
  • java.util.HashMap
  • java.util.List
  • java.util.Map
  • org.apache.http.HttpEntity
  • org.apache.http.NameValuePair
  • org.apache.http.client.config.RequestConfig
  • org.apache.http.client.entity.UrlEncodedFormEntity
  • org.apache.http.client.methods.CloseableHttpResponse
  • org.apache.http.client.methods.HTTPGet
  • org.apache.http.client.methods.HTTPPost
  • org.apache.http.conn.ssl.DefaultHostnameVerifier
  • org.apache.http.conn.util.PublicSuffixMatcher
  • org.apache.http.conn.util.PublicSuffixMatcherLoader
  • org.apache.http.impl.client.CloseableHttpClient
  • org.apache.http.impl.client.HttpClients
  • org.apache.http.message.BasicNameValuePair
  • org.apache.http.util.EntityUtils

创建一个单例的HTTP客户端工具类HttpClientUtil,并设置请求超时参数。

二、发送POST请求

发送POST请求的实现步骤如下:

  • 创建HttpPost对象,指定目标地址。
  • 将参数集合转换为UrlEncodedFormEntity格式。
  • 调用sendHttpPost方法发送请求。
  • public String sendHttpPost(String httpUrl, Map
    maps, String type) { HttpPost httpPost = new HttpPost(httpUrl); List
    nameValuePairs = new ArrayList<>(); for (String key : maps.keySet()) { nameValuePairs.add(new BasicNameValuePair(key, maps.get(key))); } try { httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, type)); } catch (Exception e) { e.printStackTrace(); } return sendHttpPost(httpPost, type);}

    三、短信发送示例

    以下是一个使用HttpClientUtil发送短信的示例代码:

    import java.util.HashMap;import java.util.Map;public class test {    private static String Uid = "您的用户名";    private static String Key = "您的秘钥";    private static String smsMob = "13800000000,13800000001";    private static String smsText = "您的短信内容";    public static void main(String[] args) {        HttpClientUtil client = HttpClientUtil.getInstance();        int result = client.sendMsgUtf8(Uid, Key, smsText, smsMob);        if (result > 0) {            System.out.println("短信发送成功,接收数量为:" + result);        } else {            System.out.println(client.getErrorMsg(result));        }    }}

    四、错误处理

    该方法还集成了错误处理功能,返回以下常见错误码对应的描述:

    • -1:用户不存在
    • -2:接口密钥错误
    • -3:短信数量不足
    • -4:手机号格式错误
    • -21:MD5接口密钥错误
    • -11:用户已被禁用
    • -14:短信内容包含非法字符
    • -41:手机号为空
    • -42:短信内容为空
    • -51:签名格式错误
    • -6:IP地址限制

    通过以上方法,您可以快速集成短信发送功能,仅需简单配置即可使用。

    上一篇:《浅谈单例设计模式的几种方案》
    下一篇:windows任务栏IDEA图标变白色快速解决方法

    发表评论

    最新留言

    逛到本站,mark一下
    [***.202.152.39]2025年05月05日 19时02分05秒