博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发送短信的2种方法
阅读量:6223 次
发布时间:2019-06-21

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

hot3.png

/** * 发送单条短信 * * @param mobileNumber 手机号码 * @param content      短信内容 */pubilc void test(String mobileNumber,String content){    LOGGER.info("start into sms send. accept=[{}]", mobileNumber);    //1建立HttpClient对象实例    HttpClient client = new HttpClient();    //2.创建请求方式post,并制定url    PostMethod post = new PostMethod(url);    //在头文件设置转码    post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");    //3.HttpPost,需要NameValuePair对象来设置请求参数。    NameValuePair[] data = {            new NameValuePair("username", username),            new NameValuePair("secret_key", password),            new NameValuePair("to", mobileNumber),            new NameValuePair("body", sign + content),    };    post.setRequestBody(data);    try {        //发送短信        Integer status = client.executeMethod(post);        LOGGER.info("end send message. status=[{}]", status);        System.out.println("end send message. status=[{}]" + status);        if (status != 200) {            throw new SMSException(SMSResponseCode.getMsgByCode(status).orElse("短信未知错误,status=" + status));        }    } catch (IOException e) {        LOGGER.error("send sms IOException", e);        throw new SMSException("发送单条短信IO异常", e);    } finally {        //关闭连接        post.releaseConnection();        LOGGER.info("end sms send. accept=[{}]", mobileNumber);    }}

    第一个导入这个包:

import org.apache.commons.httpclient.HttpClient;

第二个这个包:

import org.apache.http.impl.client.CloseableHttpClient;

   

public static void sendTest(){

        // 创建默认的httpClient实例.    
        CloseableHttpClient httpclient = HttpClients.createDefault();  
        // 创建httppost    
        HttpPost httppost = new HttpPost(url);  
        // 创建参数队列    
        List<BasicNameValuePair> formparams = new ArrayList<BasicNameValuePair>();  
        formparams.add(new BasicNameValuePair("username", "***"));  
        formparams.add(new BasicNameValuePair("key", "***"));  
        formparams.add(new BasicNameValuePair("to", "sdfsfcdfs"));  
        formparams.add(new BasicNameValuePair("body", "【短信签名】脸搁着了,亲不亲看你了。"));  
        UrlEncodedFormEntity uefEntity;  
        try {  
            uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");  
            httppost.setEntity(uefEntity);  
            System.out.println("executing request " + httppost.getURI());  
            CloseableHttpResponse response = httpclient.execute(httppost);  
            try {  
                HttpEntity entity = response.getEntity(); 
                int code = response.getStatusLine().getStatusCode();
                System.out.println(code);
                if (entity != null) {  
                    System.out.println("--------------------------------------");  
                    System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8"));  
                    System.out.println("--------------------------------------");  
                }  
            } finally {  
                response.close();  
            }  
        } catch (ClientProtocolException e) {  
            e.printStackTrace();  
        } catch (UnsupportedEncodingException e1) {  
            e1.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        } finally {  
            // 关闭连接,释放资源    
            try {  
                httpclient.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
    }

转载于:https://my.oschina.net/u/3142419/blog/1559961

你可能感兴趣的文章
JAVA数组的定义及用法
查看>>
C++赋值函数详解
查看>>
循环-11. 水仙花数(20)
查看>>
奇偶校验算法
查看>>
boost:库program_options--第一篇
查看>>
分享最新的博客到LinkedIn Timeline
查看>>
discuz mysqli_connect() 不支持 advice_mysqli_connect
查看>>
细嗅Promise
查看>>
Jquery中$与$.fn的差别
查看>>
MongoDB入门简单介绍
查看>>
Mining 任务分类
查看>>
HTML常见元素集锦
查看>>
C实现通用数据结构--单链表
查看>>
grep命令參数及使用方法
查看>>
用Lighttpd做图片服务器
查看>>
mongoDB 索引
查看>>
Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员
查看>>
【linux】学习4
查看>>
[转]刷量那些事儿。刷子是如何刷量的?
查看>>
window下Nodejs的部署
查看>>