Java implementiert die SMS -Nachrichtenfunktion über die SMS -SMS -Plattform
Ich habe die Funktion des Sendens von Textnachrichten im Projekt verwendet, aber aufgrund interner Einschränkungen habe ich heute ein einfaches Online -Online gefunden und es wie folgt aufgezeichnet, wenn ich nichts zu tun habe:
Dieses Programm wird mit der von China Net Construction bereitgestellten SMS -SMS -Plattform implementiert (die Plattform bietet den registrierten Benutzern derzeit 5 kostenlose SMS und 3 kostenlose MMS, was für uns ausreicht. Sie müssen sich vor der Verwendung registrieren, und die Registrierungsadresse lautet http://sms.webchinese.cn/reg.shtml). Das Folgende ist der Programmquellcode:
/ ** * @author dengsilinming * @date 2012-9-18 * */ package com.dengsilinming.mail; importieren java.io.ioException; import org.apache.commons.httpclient.header; import org.apache.commons.httpclient.httpclient; 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 densilinming * @date Sep 18, 2012 * @Time 9:38:25 AM * @param args * @throws ioException * @throws httpexception * @description * / public static void Main (Sting [] args) throws httpexception * @description * / public static void Main (String [] arg. Httpclient (); Postmethod post = new postmethod ("http://gbk.sms.webchinese.cn"); // postmethod post = new postMethod ("http://sms.webchinese.cn/web_api/"); post.addRequestheader ("Inhaltstyp", "Anwendung/x-www-form-urlencoded; charset = gbk"); // transkodierende namevaluepair [] data = {neuer NameValuepair ("UID", "Dengsilinming"), // registrierter Username NEW NEWNAME NEWNAME NEWNAME (NEWNAME NEWNAME (NEWNAME) ("Key", "Key",: "72DA78DA5FF54F450505"), // Nach erfolgreicher Registrierung ist der Schlüssel, der nach der Anmeldung auf der Website erhalten wurde, neu nameValuePair ("smsmob", "12345678900"), // Mobiltelefonnummer Neue NameValuEpair ("Smsstext", "SmStext", "SmStext", "Dies ist eine Meldung zu einer Nachricht. post.setRequestBody (Daten); Client.executemethod (post); Header [] Header = post.getResponseHeaders (); int statuscode = post.getStatusCode (); System.out.println ("Statuscode:" + StatusCode); für (Header H: Header) {System.out.println ("---" + H.ToString ()); } String result = new String (post.getResponseBodyAssstring (). GetBytes ("gbk")); System.out.println (Ergebnis); }} Es gibt drei JAR -Pakete zu verwenden:
Commons-Logging-1.1.1.Jar
Commons-httpclient-3.1.jar
Commons-codec-1.4.jar
Der folgende Inhalt wird von China Jianshe SMS SMS -API ausgehalten:
GBK -Codierungs -Sende -Schnittstellenadresse:
http://gbk.sms.webchinese.cn/?uid=user Name dieser Site & Key = Schnittstellensicherheitsportkennwort & smsmob = Handynummer & smStext = SMS -Inhalt
UTF-8-Codierungs-Senden-Schnittstellenadresse:
http://utf8.sms.webchinese.cn/?uid=user Name dieser Website & Key = Interface Security -Kennwort & SMSMOB = Mobilfunknummer & SMSTEXT = SMS -Inhalt, um die Anzahl der SMS -Schnittstellenadresse (UTF8) zu erhalten:
http://sms.webchinese.cn/web_api/sms/?action=sms_num&uid=username dieser Site & Key = Schnittstellensicherheit und -versicherung erhalten SMS -Nummer Schnittstellenadresse (GBK):
http://sms.webchinese.cn/web_api/sms/gbk/?action=sms_num&uid=username dieser Website & Key = Interface Security Security Passwort
Tipp: Wenn HTTP die URL -Schnittstelle aufruft, muss der Parameterwert vor dem Aufrufen von URL codiert werden
Bitte verwenden Sie eine halbe Ecke, um mehrere Mobiltelefonnummern zu trennen, wie z.
Hier ist eine einfache Demo des Aufrufens von SMS -Schnittstellen in verschiedenen Sprachen:
1. ASP Call
<% 'Common Function' Geben Sie die URL -Ziel -Webseitenadresse ein, und der Rückgabewert Gethttppage ist der HTML -Code der Zielwebseite Funktion Gethttppage (URL) dim http set http = server.createObject ("msxml2.xmlhttp") http.open "Get" Http.ReadyState <> 4, dann beenden Sie die Funktion end, wenn Gethttppage = byTestObstr (http.responseBody, "gb2312") Setzen Sie http = nichts, wenn ERR.Number <> 0 dann err.clear Endfunktion Bytestobstr (Body, Cset) dim OBJStream Set Objstream Set Objstream Set ObjStream = Server. objstream.type = 1 objstream.mode = 3 objstream.open objstream.write Body Objstream.Position = 0 Objstream.Type = 2 Objstream.Charset = cset bytestobstr = objstream.redext addjstream add add. sms_url = "http://sms.webchinese.cn/web_api/?uid=account&key=Interface Key & smsmob = Handynummer & SmStext = SMS Content" response.write getttppage (sms_url) %> %> 2.C# Anruf
// Der Namespace, der mit System.net erforderlich ist; mit System.io; mit System.text; // beim Aufrufen müssen Sie die geschriebene URL nur an die Funktion übergeben. Beurteilen Sie einfach den Rückgabewert public String gethtmlfromurl (String url) {String stret = null; if (url == null || url.trim (). toString () == "") {return stret; } String targeturl = url.trim (). toString (); try {httpwebRequest hr = (httpwebRequest) webRequest.create (targeturl); Hr.Useragent = "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1)"; Hr.Method = "Get"; hr.timeout = 30 * 60 * 1000; Webresponse hs = hr.getResponse (); Stream sr = hs.getResponSstream (); StreamReader ser = new streamReader (sr, coding.default); Stret = Ser.Readtoend (); } catch (Ausnahme ex) {stret = null; } return stret; } 3. Java Call
importieren 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 sendsg_webchinese {public static void main (String [] args) löst Ausnahme aus {httpclient client = new httpclient (); Postmethod post = new postmethod ("http://gbk.sms.webchinese.cn"); post.addrequestheader ("Inhaltstyp", "Anwendung/x-www-form-urlencoded; charset = gbk"); // Transcodierende NameValuePair [] data = {new namevaluepair ("UID", "Benutzername dieser Seite"), neuer Namevaluepair ("Schlüssel", "Schlüssel", "Schlüssel", "Key", "Schlüssel", "Key", "Taste", "Key", "Taste", "Key", "Key", "Taste", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Taste", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Key", "Key". NameValuepair ("smsmob", "Handynummer"), neuer NameValuePair ("SmStext", "SMS -Inhalt")}; post.setRequestBody (Daten); Client.executemethod (post); Header [] Header = post.getResponseHeaders (); int statuscode = post.getStatusCode (); System.out.println ("Statuscode:"+StatusCode); für (Header H: Header) {System.out.println (H.ToString ()); } String result = new String (post.getResponseBodyAssstring (). GetBytes ("gbk")); System.out.println (Ergebnis); post.releaseconnection (); }} Jar -Paket -Download
Commons-Logging-1.1.1.Jar
Commons-httpclient-3.1.jar
Commons-codec-1.4.jar
4. PHP -Anruf
$ url = 'http: //sms.webchinese.cn/web_api/? uid = Account & Key = Schnittstellenschlüssel & SMSMOB = Mobilfunknummer & smStext = SMS -Inhalt'; Echo Get ($ url); Funktion 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 CALL
Rufen Sie an, um SMS zu senden, Nolist, um die Nummer zu erhalten. Verwenden Sie mehrmals, separate und 70 Wörter Memoinhalte
Öffentliche Funktion sendet (Byval nolist als String, Byval Memo als String) als String dim url as string = "http://sms.webchinese.cn/web_api/?uid= Account&key=Interface Key & Smsmob = Handy Number & Smstext = Sms Dims Dims. srcstring as string = webclient.downloadstring (URL) return
Nach dem Testen kann der obige Java -Quellcode erfolgreich gesendet werden, andere Sprachen haben jedoch keine Tests.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.