秒賽科技 · 技術支持

短信接口示例

主要為大家分享java短信接口代碼,java短信發送、java批量發送、java短信驗證碼發送,感興趣的小伙伴們可以參考一下。


package com.util;


import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

/**
 * author: cjianquan
 * date: 2016/9/29
 */
public class ZxHttpUtil {

    // 表示服務器端的url

    private ZxHttpUtil() {
        // TODO Auto-generated constructor stub
    }


    /*
     * params 填寫的URL的參數 encode 字節編碼
     */
    public static String sendPostMessage(String strUrl,Map<String, String> params,
                                         String encode) {
    	System.out.println(strUrl);
        URL url = null;
        try {
            url = new URL(strUrl);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }

        StringBuffer stringBuffer = new StringBuffer();

        if (params != null && !params.isEmpty()) {
        	 System.out.println("ddd");
            for (Map.Entry<String, String> entry : params.entrySet()) {
                try {
                    stringBuffer
                            .append(entry.getKey())
                            .append("=")
                            .append(URLEncoder.encode(entry.getValue(), encode))
                            .append("&");

                } catch (UnsupportedEncodingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            // 刪掉最后一個 & 字符
            stringBuffer.deleteCharAt(stringBuffer.length() - 1);
            System.out.println("-->>" + stringBuffer.toString());

            try {
                HttpURLConnection httpURLConnection = (HttpURLConnection) url
                        .openConnection();
                httpURLConnection.setConnectTimeout(3000);
                httpURLConnection.setDoInput(true);// 從服務器獲取數據
                httpURLConnection.setDoOutput(true);// 向服務器寫入數據

                // 獲得上傳信息的字節大小及長度
                byte[] mydata = stringBuffer.toString().getBytes();
                // 設置請求體的類型
                httpURLConnection.setRequestProperty("Content-Type",
                        "application/x-www-form-urlencoded");
                httpURLConnection.setRequestProperty("Content-Lenth",
                        String.valueOf(mydata.length));

                // 獲得輸出流,向服務器輸出數據
                OutputStream outputStream = (OutputStream) httpURLConnection
                        .getOutputStream();
                outputStream.write(mydata);

                // 獲得服務器響應的結果和狀態碼
                int responseCode = httpURLConnection.getResponseCode();
                System.out.println(responseCode);
                if (responseCode == 200) {

                    // 獲得輸入流,從服務器端獲得數據
                    InputStream inputStream = (InputStream) httpURLConnection
                            .getInputStream();
                    return (changeInputStream(inputStream, encode));

                }

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        System.out.println("eee");
        return "";
    }

    /*
     * // 把從輸入流InputStream按指定編碼格式encode變成字符串String
     */
    public static String changeInputStream(InputStream inputStream,
                                           String encode) {

        // ByteArrayOutputStream 一般叫做內存流
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        byte[] data = new byte[1024];
        int len = 0;
        String result = "";
        if (inputStream != null) {

            try {
                while ((len = inputStream.read(data)) != -1) {
                    byteArrayOutputStream.write(data, 0, len);

                }
                result = new String(byteArrayOutputStream.toByteArray(), encode);

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }

        return result;
    }
}






package com.util;

import java.security.MessageDigest;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.google.gson.JsonObject;

public class Utility {
  
	public static void jhson() {
		 String jsonString ="{\"name\":\"zhangsan\",\"password\":\"zhangsan123\",\"email\":\"[email protected]\"}";  
         JsonObject json =  new JsonObject();         
	}
	public static String getNowDateStr() {
		   Date currentTime = new Date();
		   SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
		   String dateString = formatter.format(currentTime);
		   return dateString;
		}
	
	public static String getMD5(String str) {
	    try {
	        MessageDigest md = MessageDigest.getInstance("MD5");
	        byte[] bytes = md.digest(str.getBytes("utf-8"));
	        System.out.println(toHex(bytes).toLowerCase());
	        return toHex(bytes).toLowerCase();
	    }
	    catch (Exception e) {
	        throw new RuntimeException(e);
	    }
	}

	private static String toHex(byte[] bytes) {

	    final char[] HEX_DIGITS = "0123456789ABCDEF".toCharArray();
	    StringBuilder ret = new StringBuilder(bytes.length * 2);
	    for (int i=0; i<bytes.length; i++) {
	        ret.append(HEX_DIGITS[(bytes[i] >> 4) & 0x0f]);
	        ret.append(HEX_DIGITS[bytes[i] & 0x0f]);
	    }
	    return ret.toString();
	}
}






<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
     
<%@page import="java.util.HashMap"%> 
<%@page import="java.util.Map"%> 
<%@ page import="com.google.gson.*" %>
<%@ page import="com.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>SendSms</title>
</head>
<body>
<%
// 您的短信賬號
String Account = "您的短信賬號";
// 您的短信賬號密碼
String Password = "您的短信賬號密碼";
// 是否需要狀態報告
String NeedStatus = "true";
String message = "短信內容";//短信內容
String mobile = "xxxxxxxxxxx";//要發送的手機號,多個手機號用,隔開
String ts =  Utility.getNowDateStr();//時間戳


Password = Utility.getMD5(Account + Password + ts);// Md5簽名(賬號+密碼+時間戳)
HashMap params = new HashMap(); 
//請求參數 
params.put("account",Account);
params.put("pswd",Password);
params.put("mobile",mobile);
params.put("msg",message);
params.put("ts",ts);
params.put("needstatus",NeedStatus);
String rep = ZxHttpUtil.sendPostMessage("http://139.196.108.241:8080/Api/HttpSendSMYzm.ashx", params, "UTF-8");
out.print(rep);
 JsonParser parser = new JsonParser();
 
JsonObject json = (JsonObject)parser.parse(rep);           
       
out.print("<br> result_msg:" + json.get("result_msg"));
%>
</body>
</html>


現在注冊,送100+體驗短信!

立即免費注冊

正規資質

工信部核準SP資質,移動、電信、聯通金牌合作伙伴

價格透明

短信套餐明碼實價,提供每一條短信消費明細記錄

信息保密

所有客戶信息嚴格保密,保護客戶信息免遭外泄

售后無憂

專業團隊提供免費技術支持,7X24小時售后服務

掃一掃

掃碼關注 · 認證、審核結果通知 · 短信發送結果通知 · 活動及最新平臺信息

返回頂部

手游棋牌透视软件 天天乐棋牌游戏中心下载 极速十一选五任二遗漏 湖南幸运赛车电视走势图 北京晒车pk10稳赚技巧 必赢彩票 七乐彩和尾分布图 黑龙江11选5历史数据 北京赛车pk10牛牛推算 浙江十一选五任四 69捕鱼棋牌游戏平台 快乐飞艇开奖图 棋牌游戏注册送金币的 大乐透选号与历史记录 安徽十一选五走势图表 江苏快3助赢软件 浙江11选5推荐计划