java發送手機短信

          JAVA發送手機短信,流傳有幾種方法:
          (1)使用webservice接口發送手機短信,這個可以使用sina提供的webservice進行發送,但是需要進行注冊;
          (2)使用短信mao的方式進行短信的發送,這種方式應該是比較的常用,前提是需要購買硬件設備;
          (3)使用中國網建提供的SMS短信平臺(申請賬號地址:http://sms.webchinese.cn/default.shtml
          文章介紹(3)的使用

          SMS短信通API下行接口參數

          GBK編碼發送接口地址
          http://gbk.sms.webchinese.cn/?Uid=本站用戶名&Key=接口安全密碼&smsMob=手機號碼&smsText=短信內容             
          UTF-8編碼發送接口地址:
          http://utf8.sms.webchinese.cn/?Uid=本站用戶名&Key=接口安全密碼&smsMob=手機號碼&smsText=短信內容
          獲取短信數量接口地址(UTF8):
          http://sms.webchinese.cn/web_api/SMS/?Action=SMS_Num&Uid=本站用戶名&Key=接口安全密碼
          獲取短信數量接口地址(GBK):
          http://sms.webchinese.cn/web_api/SMS/GBK/?Action=SMS_Num&Uid=本站用戶名&Key=接口安全密碼

          提示:HTTP調用URL接口時, 參數值必須URL編碼后再調用

          參數變量說明
          Gbk編碼Url http://gbk.sms.webchinese.cn/
          Utf-8編碼Url http://utf8.sms.webchinese.cn/
          Uid 本站用戶名(如您無本站用戶名請先注冊)
          Key 注冊時填寫的接口安全密碼(可到用戶平臺修改安全密碼)
          smsMob 目的手機號碼(多個手機號請用半角逗號隔開)
          smsText 短信內容,最多支持300個字,普通短信70個字/條,長短信64個字/條計費

          多個手機號請用半角,隔開
                        如:13888888886,13888888887,1388888888 一次最多對50個手機發送
                        短信內容支持長短信,最多300個字,普通短信70個字/條,長短信64個字/條計費

          短信發送后返回值說 明
          -1 沒有該用戶賬戶
          -2 密鑰不正確(不是用戶密碼)
          -3 短信數量不足
          -11 該用戶被禁用
          -14 短信內容出現非法字符
          -4 手機號格式不正確
          -41 手機號碼為空
          -42 短信內容為空
          大于0 短信發送數量
                          注:調用API接口,請登錄平臺,申請106網關發送,即發即到!
                          發送測試短信請勿輸入:短信測試等詞語,請直接提交您要發送的短信內容;
                          接口發送短信時請在內容后加簽名:【XX公司或XX網名稱】,否者會被
          屏蔽。
                          短信簽名可在
          用戶平臺平臺上設置,也可以在短信內容后,直接加入。
          ASP程序實例C#程序示例JAVA程序示例PHP程序示例VB.NET程序實例

          1. ASP 調用例子
          <%
                        '常用函數
          '輸入url目標網頁地址,返回值getHTTPPage是目標網頁的html代碼
          function   getHTTPPage(url)
                        dim Http
                        set   Http=server.createobject("MSXML2.XMLHTTP")
                        Http.open   "GET",url,false
                        Http.send()
                        if Http.readystate<>4 then
                        exit   function
                        end if
                        getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
                        set   http=nothing
                        if err.number<>0 then err.Clear
                        end   function
                        Function BytesToBstr(body,Cset)
                        dim objstream
                        set objstream =   Server.CreateObject("adodb.stream")
                        objstream.Type = 1
                        objstream.Mode   =3
                        objstream.Open
                        objstream.Write body
                        objstream.Position =   0
                        objstream.Type = 2
                        objstream.Charset = Cset
                        BytesToBstr =   objstream.ReadText
                        objstream.Close
                        set objstream = nothing
                        End   Function

                        '自已組合一下提交的URL加入自己的賬號和密碼
          sms_url="http://sms.webchinese.cn/web_api/?Uid=賬號&Key=接口密鑰&smsMob=手機號碼&smsText=短信內容"
          response.write   getHTTPPage(sms_url)
                        %>

          2.C# 調用
          //需要用到的命名空間
          using System.Net;
                        using System.IO;
                        using   System.Text;
                        //調用時只需要把拼成的URL傳給該函數即可。判斷返回值即可
          public string   GetHtmlFromUrl(string url)
                        {
                        string strRet = null;              

          if(url==null || url.Trim().ToString()=="")
                        {
                        return   strRet;
                        }
                        string targeturl =   url.Trim().ToString();
                        try
                        {
                        HttpWebRequest hr =   (HttpWebRequest)WebRequest.Create(targeturl);
                        hr.UserAgent = "Mozilla/4.0   (compatible; MSIE 6.0; Windows NT 5.1)";
                        hr.Method = "GET";
                        hr.Timeout =   30 * 60 * 1000;
                        WebResponse hs = hr.GetResponse();
                        Stream sr =   hs.GetResponseStream();
                        StreamReader ser = new StreamReader(sr,   Encoding.Default);
                        strRet = ser.ReadToEnd();
                        }
                        catch (Exception   ex)
                        {
                        strRet = null;
                        }
                        return strRet;
                        }

          3.JAVA調用

          import java.io.UnsupportedEncodingException;
          import org.apache.commons.httpclient.Header;
          import org.apache.commons.httpclient.HttpClient;
          import org.apache.commons.httpclient.NameValuePair;
          import org.apache.commons.httpclient.methods.PostMethod;

          public class SendMsg_webchinese {

                        public static void main(String[] args)throws Exception
                        {

                        HttpClient client = new HttpClient();
                        PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn");
                        post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在頭文件中設置轉碼
          NameValuePair[] data ={ new NameValuePair("Uid", "本站用戶名"),new NameValuePair("Key", "接口安全密碼"),new NameValuePair("smsMob","手機號碼"),new NameValuePair("smsText","短信內容")};
          post.setRequestBody(data);

                        client.executeMethod(post);
                        Header[] headers = post.getResponseHeaders();
                        int statusCode = post.getStatusCode();
                        System.out.println("statusCode:"+statusCode);
                        for(Header h : headers)
                        {
                        System.out.println(h.toString());
                        }
                        String result = new String(post.getResponseBodyAsString().getBytes("gbk"));
                        System.out.println(result);


                        post.releaseConnection();

                        }

          }

          jar包下載
          commons-logging-1.1.1.jar
          commons-httpclient-3.1.jar
          commons-codec-1.4.jar

          4.PHP
          $url='http://sms.webchinese.cn/web_api/?Uid=賬號&Key=接口密鑰&smsMob=手機號碼&smsText=短信內容';           

          echo Get($url);
                        function   Get($url)
                        {
                        if(function_exists('file_get_contents'))
                        {
                        $file_contents   = file_get_contents($url);
                        }
                        else
                        {
                        $ch = curl_init();
                        $timeout =   5;
                        curl_setopt ($ch, CURLOPT_URL, $url);
                        curl_setopt ($ch,   CURLOPT_RETURNTRANSFER, 1);
                        curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,   $timeout);
                        $file_contents =   curl_exec($ch);
                        curl_close($ch);
                        }
                        return $file_contents;
                        }

          5.VB.NET
          '調用發送短信,NoList接收號碼.多個之間用,分開,Memo內容70字
          Public Function SendSMS(ByVal NoList As String, ByVal Memo As String) As String
                      Dim Url As String = "http://sms.webchinese.cn/web_api/?Uid=賬號&Key=接口密鑰&smsMob=手機號碼&smsText=短信內容"
          Dim webClient As New Net.WebClient()
                      Try
                      'Dim responseData As Byte() =
                      Dim srcString As String = webClient.DownloadString(Url)
                      Return srcString
                      Catch
                      Return "-444"
                      End Try
                      End Function


          posted on 2012-06-15 00:19 KBMS 閱讀(1301) 評論(3)  編輯  收藏

          評論

          # re: java發送手機短信 2012-09-10 13:43 龍洲裝飾

          很不錯  回復  更多評論   

          # 18774000720 2014-12-17 10:55 范昂

          的淡淡的  回復  更多評論   

          # 15001242024 2015-03-18 13:49 王勝利

          測試——java發送短信驗證  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2015年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          收藏夾

          搜索

          最新評論

          主站蜘蛛池模板: 卢氏县| 乌鲁木齐县| 若尔盖县| 丘北县| 丹巴县| 晋中市| 年辖:市辖区| 石阡县| 栾城县| 铜梁县| 昭通市| 曲阳县| 怀宁县| 南京市| 樟树市| 精河县| 绥化市| 永修县| 石棉县| 渑池县| 台前县| 上饶县| 迁西县| 白朗县| 潮州市| 五寨县| 榕江县| 天台县| 平利县| 宣恩县| 北辰区| 海晏县| 勃利县| 原阳县| 镇巴县| 迁安市| 武安市| 海门市| 诏安县| 榕江县| 恩平市|