发送短信的2种方法

/**
 * 发送单条短信
 *
 * @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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值