Java implementa la función de mensaje SMS a través de la plataforma SMS SMS
Utilicé la función de enviar mensajes de texto en el proyecto, pero debido a las restricciones internas, encontré un simple en línea hoy y lo grabé de la siguiente manera cuando no tengo nada que hacer:
Este programa se implementa utilizando la plataforma SMS SMS proporcionada por China Net Construction (la plataforma actualmente proporciona a los usuarios registrados 5 SMS gratuitos y 3 MM gratuitos, lo cual es suficiente para probar. Debe registrarse antes de usar, y la dirección de registro es http://sms.webchinese.cn/reg.shtml). El siguiente es el código fuente del programa:
/ ** * @Author Dengsilinming * @Date 2012-9-18 * */ paquete com.dengsilinming.mail; import java.io.ioException; importar org.apache.commons.httpclient.header; importar org.apache.commons.httpclient.httpclient; importar org.apache.commons.httpclient.httpclient; importar org.apache.commons.httpclient.httpexception; importar org.apache.commons.httpclient.nameValuePair; importar org.apache.commons.httpclient.methods.postmethod; clase pública sendmsg_webchinese { / ** * @author dengsilinming * @date sep 18 de 2012 * @time 9:38:25 am * @param args * @throws ioexception * @throws httpexception * @Description * / public static void main (string [] args) lanza httpexception, ioexception {httpClient HttpClient (); Postmethod post = new Postmethod ("http://gbk.sms.webchinese.cn"); // postmethod post = new Postmethod ("http://sms.webchinesese.cn/web_api/"); post.AdDRequestHeader ("Content-type", "Application/X-WWW-Form-URLEncoded; Charset = GBK"); // Establezca transcodificando nameValuePair [] data = {new nameValuePair ("UID", "Dengsilinming"), // Registrado UserName NewValuePair ("Key", Key ", Key", Key ", Key", Key ", "72DA78DA5FF54F450505"), // Después de registrarse correctamente, la clave obtenida después de iniciar sesión en el sitio web es nuevo NameValuePair ("SMSMOB", "12345678900"), // Número de teléfono móvil nuevo NameValuePair ("SMSTEXT", "Esto es un mensaje dedicado a las pruebas. post.setRequestBody (datos); Client.executEmethod (post); Encabezado [] encabezados = post.getResponseHeaders (); int statuscode = post.getStatUscode (); System.out.println ("statuscode:" + statuscode); para (Header H: Headers) {System.out.println ("---" + H.ToString ()); } String result = new String (post.getResponseBodyAsstring (). GetBytes ("GBK")); System.out.println (resultado); }} Hay tres paquetes JAR para usar:
Commons-logging-1.1.1.Jar
Commons-HttpClient-3.1.Jar
Commons-Codec-1.4.Jar
El siguiente contenido se extrae de la API SMS SMS de China JiAnshe:
Dirección de interfaz de envío de codificación de GBK:
http://gbk.sms.webchinesese.cn/?uid=user Nombre de este sitio y clave = Interface Security Password & smSmob = Número móvil y SMSTEXT = Contenido de SMS
UTF-8 Codificación de la dirección de interfaz de envío:
http://utf8.sms.webchinese.cn/?uid=user Nombre de este sitio y clave = Interface Security Password & SmSmob = Número móvil y SMSTEXT = Contenido de SMS para obtener el número de dirección de interfaz SMS (UTF8)::
http://sms.webchinese.cn/web_api/sms/?action=sms_num&uid=username of this Site & Key = Interface Security and Security Obtener la dirección de interfaz de número SMS (GBK):
http://sms.webchinesese.cn/web_api/sms/gbk/?action=sms_num&uid=username de este sitio e clave = interfaz seguridad contraseña
Consejo: Cuando HTTP llama a la interfaz URL, el valor del parámetro debe codificarse antes de llamar
Utilice la mitad de una esquina para separar múltiples números de teléfono móvil, como: 13888888886, 13888888887, 13888888888888888 Envíe mensajes de texto a hasta 50 teléfonos móvil
Aquí hay una demostración simple de llamar a las interfaces SMS en diferentes idiomas:
1. Llamada ASP
<% 'Función común' Ingrese la dirección de la página web de destino de URL, y el valor de retorno gethttppage es el código HTML de la función de la página web de destino gethttppage (url) dim http set http = server.createObject ("msxml2.xmlhttp") http.open "get", url, false http.send () if http. " Luego salga de la función de salida si gethttppage = bytestObstr (http.ResponseBody, "gb2312") establecer http = nada si err.number <> 0 entonces err.clear final función bytestObstr (corporal, cset) dim objstream OBJSTREAM = Server.createBject ("adodb.stream") objStream.tyTypeM 3 objstream.open objstream.write cuerpo objstream.position = 0 objstream.type = 2 objstream.charset = cset bytestobstr = objstream.readtext objstream.close set objstream = nada final de la función 'ha combinado la url enviada para agregar su cuenta y contraseña a su propia cuenta y contraseña sms_url = "http://sms.webchinesese.cn/web_api/?uid=account&key=interface key & smsmob = número móvil y smstext = contenido sms" Respuesta.write gethttppage (sms_url) %> 2.c# llamar
// El espacio de nombres requerido usando System.net; usando System.io; usando System.Text; // Al llamar, solo necesita pasar la URL deletreada a la función. Simplemente juzgue el valor de retorno public String gethtmlFromurl (String url) {String strret = null; if (url == null || url.trim (). toString () == "") {return strret; } String TargetUrl = url.trim (). toString (); Pruebe {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.getResponseSteam (); StreamReader ser = new StreamReader (sr, coding.default); strret = ser.readtoend (); } catch (excepción ex) {strret = null; } return strret; } 3. Llamada de Java
import java.io.unsupportedencodingException; importar org.apache.commons.httpclient.header; importar org.apache.commons.httpclient.httpclient; importar org.apache.commons.httpclient.nameValuePair; importar org.apache.commons.httpclient.methods.postmethod; La clase pública sendmsg_webchinese {public static void main (string [] args) lanza la excepción {httpclient client = new httpClient (); Postmethod post = new Postmethod ("http://gbk.sms.webchinese.cn"); post.AdDRequestHeader ("Content-type", "Application/X-WWW-Form-URLEncoded; Charset = GBK"); // Establezca transcodificación nameValuePair [] data = {new NameValuePair ("UID", "Nombre de usuario de este sitio"), New NameValuePair ("Key", "Passion de interfaz"), Nueva "), Nueva NameValuePair ("smsmob", "número móvil"), nuevo nameValuePair ("smstext", "contenido sms")}; post.setRequestBody (datos); Client.executEmethod (post); Encabezado [] encabezados = post.getResponseHeaders (); int statuscode = post.getStatUscode (); System.out.println ("statuscode:"+statuscode); para (encabezado h: encabezados) {system.out.println (h.ToString ()); } String result = new String (post.getResponseBodyAsstring (). GetBytes ("GBK")); System.out.println (resultado); post.RelEASECONNECTION (); }} Descargar paquetes de jar
Commons-logging-1.1.1.Jar
Commons-HttpClient-3.1.Jar
Commons-Codec-1.4.Jar
4. Llamada de PHP
$ url = 'http: //sms.webchinesese.cn/web_api/? uid = cuenta & key = interfaz key & smsmob = número móvil y smstext = contenido sms'; Echo get ($ url); function get ($ url) {if (function_exists ('file_get_contents')) {$ file_contents = file_get_contents ($ url); } else {$ ch = curl_init (); $ Tiempo de espera = 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 llamada
'Llame para enviar SMS, Nolist para recibir el número. Use varias veces, separarse y 70 palabras de contenido de memo
Función pública sendsms (byval nolist as string, byval memo as string) como string dim url as string = "http://sms.webchinese.cn/web_api/?uid=Account&key=Interface Key & smSmob = mobile Number & smstext = sms DIMCLIEN String = webClient.downloadString (url) return srcString capt thith return "-444" Fin de la función final
Después de las pruebas, el código fuente de Java anterior se puede enviar con éxito, pero otros idiomas no tienen pruebas.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.