2012年6月15日

          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 @ 2012-06-15 00:19 KBMS 閱讀(1301) | 評論 (3)編輯 收藏

          <2012年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          收藏夾

          搜索

          最新評論

          主站蜘蛛池模板: 邵阳县| 龙州县| 崇明县| 册亨县| 平度市| 兴义市| 克东县| 涟水县| 连城县| 醴陵市| 辽阳县| 阜康市| 洛宁县| 图木舒克市| 高雄市| 临洮县| 白山市| 青田县| 浦城县| 瑞昌市| 怀宁县| 额敏县| 景泰县| 历史| 金沙县| 天气| 贵德县| 万源市| 丹凤县| 弋阳县| 宜阳县| 临城县| 礼泉县| 中方县| 松江区| 桐柏县| 盐池县| 侯马市| 宁德市| 濮阳县| 台东县|