最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java通過SMS短信平臺實現(xiàn)發(fā)短信功能 含多語言

 更新時間:2016年07月08日 14:32:20   作者:bestlove12345  
這篇文章主要為大家詳細介紹了Java通過SMS短信平臺實現(xiàn)發(fā)短信功能的相關(guān)資料,感興趣的小伙伴們可以參考一下

Java通過SMS短信平臺實現(xiàn)發(fā)短信功能 

在項目中使用過發(fā)短信的功能,但那個由于公司內(nèi)部的限制很麻煩,今天在網(wǎng)上找到一個簡單的,閑來無事就把它記錄如下:

本程序是通過使用中國網(wǎng)建提供的SMS短信平臺實現(xiàn)的(該平臺目前為注冊用戶提供5條免費短信,3條免費彩信,這足夠用于我們測試用了。在使用前需要注冊,注冊地址為http://sms.webchinese.cn/reg.shtml),下面是程序源碼: 

 /** 
* @Author dengsilinming 
* @Date 2012-9-18 
* 
*/ 
package com.dengsilinming.mail; 

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

public class SendMsg_webchinese { 
 
/** 
* @author dengsilinming 
* @date Sep 18, 2012 
* @time 9:38:25 AM 
* @param args 
* @throws IOException 
* @throws HttpException 
* @description 
*/ 
public static void main(String[] args) throws HttpException, IOException { 
HttpClient client = new HttpClient(); 
PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn"); 
// PostMethod post = new PostMethod("http://sms.webchinese.cn/web_api/"); 
post.addRequestHeader("Content-Type", 
         "application/x-www-form-urlencoded;charset=gbk");// 在頭文件中設(shè)置轉(zhuǎn)碼 
    NameValuePair[] data = { new NameValuePair("Uid", "dengsilinming"),// 注冊的用戶名 
new NameValuePair("Key", "72da78da5ff54f450505"),// 注冊成功后,登錄網(wǎng)站后得到的密鑰 
new NameValuePair("smsMob", "12345678900"),// 手機號碼 
new NameValuePair("smsText", "這是專用于測試的信息,能否正常發(fā)短信呢?") };// 短信內(nèi)容 
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); 
 
 } 
 
}  

需要用到的jar包共三個:
 commons-logging-1.1.1.jar
 commons-httpclient-3.1.jar
 commons-codec-1.4.jar 

以下內(nèi)容摘自中國建網(wǎng)SMS短信通API : 

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

提示:HTTP調(diào)用URL接口時, 參數(shù)值必須URL編碼后再調(diào)用 

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

下面是不同的語言調(diào)用SMS接口的簡單demo:
 1. ASP 調(diào)用

 <%
 '常用函數(shù)
 '輸入url目標網(wǎng)頁地址,返回值getHTTPPage是目標網(wǎng)頁的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=短信內(nèi)容"
 response.write getHTTPPage(sms_url)
 %> 

2.C# 調(diào)用

 //需要用到的命名空間
 using System.Net;
 using System.IO;
 using System.Text;
 //調(diào)用時只需要把拼成的URL傳給該函數(shù)即可。判斷返回值即可
 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調(diào)用

 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");//在頭文件中設(shè)置轉(zhuǎn)碼
 NameValuePair[] data ={ new NameValuePair("Uid", "本站用戶名"),new NameValuePair("Key", "接口安全密碼"),new NameValuePair("smsMob","手機號碼"),new NameValuePair("smsText","短信內(nèi)容")};
 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調(diào)用

$url='http://sms.webchinese.cn/web_api/?Uid=賬號&Key=接口密鑰&smsMob=手機號碼&smsText=短信內(nèi)容';
 
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調(diào)用
'調(diào)用發(fā)送短信,NoList接收號碼.多個之間用,分開,Memo內(nèi)容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=短信內(nèi)容"
 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

 經(jīng)過測試上面java源碼是能夠發(fā)送成功的,其它語言的沒有測試。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot jar 啟動時設(shè)置環(huán)境參數(shù)的操作

    Spring Boot jar 啟動時設(shè)置環(huán)境參數(shù)的操作

    這篇文章主要介紹了Spring Boot jar 啟動時設(shè)置環(huán)境參數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Mybatis如何自動生成數(shù)據(jù)庫表結(jié)構(gòu)總結(jié)

    Mybatis如何自動生成數(shù)據(jù)庫表結(jié)構(gòu)總結(jié)

    這篇文章主要給大家介紹了關(guān)于Mybatis如何自動生成數(shù)據(jù)庫表結(jié)構(gòu)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • SpringBoot配置開發(fā)環(huán)境的詳細步驟(JDK、Maven、IDEA等)

    SpringBoot配置開發(fā)環(huán)境的詳細步驟(JDK、Maven、IDEA等)

    文章介紹了如何配置SpringBoot開發(fā)環(huán)境,包括安裝JDK、Maven和IDEA,并提供了詳細的步驟和配置方法,感興趣的朋友一起看看吧
    2024-12-12
  • Spring Boot自定義Banner實現(xiàn)代碼

    Spring Boot自定義Banner實現(xiàn)代碼

    這篇文章主要介紹了Spring Boot自定義Banner實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Java中鎖的實現(xiàn)和內(nèi)存語義淺析

    Java中鎖的實現(xiàn)和內(nèi)存語義淺析

    這篇文章主要給大家介紹了關(guān)于Java中鎖的實現(xiàn)和內(nèi)存語義的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • SpringMVC實現(xiàn)表單驗證功能詳解

    SpringMVC實現(xiàn)表單驗證功能詳解

    這篇文章主要為大家詳細介紹了SpringMVC 表單驗證的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Java異常處理try?catch的基本用法

    Java異常處理try?catch的基本用法

    try就像一個網(wǎng),把try{}里面的代碼所拋出的異常都網(wǎng)住,然后把異常交給catch{}里面的代碼去處理。最后執(zhí)行finally之中的代碼。無論try中代碼有沒有異常,也無論catch是否將異常捕獲到,finally中的代碼都一定會被執(zhí)行。
    2021-12-12
  • Java?Base64編碼方法詳解及實例解析

    Java?Base64編碼方法詳解及實例解析

    Base64是一種用于將二進制數(shù)據(jù)轉(zhuǎn)換成文本數(shù)據(jù)的編碼方式,在本文中,我們介紹了Base64.encodeBase64String方法的用途和功能,它是Java語言中用于Base64編碼的一個重要工具,需要的朋友可以參考下
    2023-09-09
  • Java中MyBatis傳入?yún)?shù)parameterType問題

    Java中MyBatis傳入?yún)?shù)parameterType問題

    這篇文章主要介紹了Java中MyBatis傳入?yún)?shù)parameterType問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Intellij IDEA Debug調(diào)試技巧(小結(jié))

    Intellij IDEA Debug調(diào)試技巧(小結(jié))

    這篇文章主要介紹了Intellij IDEA Debug調(diào)試技巧(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評論

霍邱县| 保德县| 平阴县| 五指山市| 玉田县| 突泉县| 乌审旗| 永泰县| 泰州市| 团风县| 怀集县| 德安县| 建平县| 绥宁县| 德安县| 尚义县| 曲沃县| 吉林市| 游戏| 张家川| 镇江市| 理塘县| 潮州市| 舒城县| 新沂市| 黄浦区| 确山县| 嘉义县| 若羌县| 京山县| 东阿县| 阳高县| 姚安县| 卢氏县| 泰兴市| 武功县| 茶陵县| 衡阳县| 工布江达县| 太仆寺旗| 醴陵市|