程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java經由過程SMS短信平台完成發短信功效 含多說話

Java經由過程SMS短信平台完成發短信功效 含多說話

編輯:關於JAVA

Java經由過程SMS短信平台完成發短信功效 含多說話。本站提示廣大學習愛好者:(Java經由過程SMS短信平台完成發短信功效 含多說話)文章只能為提供參考,不一定能成為您想要的結果。以下是Java經由過程SMS短信平台完成發短信功效 含多說話正文


Java經由過程SMS短信平台完成發短信功效 

在項目中應用過發短信的功效,但誰人因為公司外部的限制很費事,明天在網上找到一個簡略的,閒來無事就把它記載以下:

本法式是經由過程應用中國網建供給的SMS短信平台完成的(該平台今朝為注冊用戶供給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");// 在頭文件中設置轉碼 
    NameValuePair[] data = { new NameValuePair("Uid", "dengsilinming"),// 注冊的用戶名 
new NameValuePair("Key", "72da78da5ff54f450505"),// 注冊勝利後,登錄網站後獲得的密鑰 
new NameValuePair("smsMob", "12345678900"),// 手機號碼 
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); 
 
 } 
 
}  

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

以下內容摘自中國建網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編碼後再挪用 

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

上面是分歧的說話挪用SMS接口的簡略demo:
 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

 經由測試下面java源碼是可以或許發送勝利的,其它說話的沒有測試。

以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved