Java реализует функцию сообщения SMS -сообщением через SMS SMS -платформу
Я использовал функцию отправки текстовых сообщений в проекте, но из -за внутренних ограничений я нашел простой онлайн сегодня и записал его следующим образом, когда мне нечего делать:
Эта программа реализована с использованием платформы SMS SMS, предоставленной China Net Construction (платформа в настоящее время предоставляет зарегистрированным пользователям 5 бесплатных SMS и 3 бесплатных MMS, что нам достаточно для тестирования. Вам необходимо зарегистрироваться перед использованием, а адрес регистрации - http://sms.webchinese.cn/reg.shtml). Ниже приведен исходный код программы:
/ ** * @author dengsilinming * @date 2012-9-18 * */ package com.dengsilinming.mail; импортировать 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 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");// Set transcoding NameValuePair[] data = { new NameValuePair("Uid", "dengsilinming"),// Registered username new NameValuePair("Key", «72DA78DA5FF54F450505»), // После успешной регистрации ключ, полученный после входа на веб -сайт, - это новое имя ValuePair («SMSMOB», «12345678900»), // Мобильный номер телефона Новое имя ValuePair («SMSTEXTEXT», это сообщение, посвященное тестированию. post.setRequestbody (data); client.executemethod (post); Заголовок [] Headers = post.getResponseHeaders (); int statusCode = post.getStatuscode (); System.out.println ("StatusCode:" + StatusCode); для (заголовок H: заголовки) {System.out.println ("---" + H.ToString ()); } String result = new String (post.getResponseBodyAssTring (). GetBytes ("gbk")); System.out.println (результат); }} Есть три пакета банка для использования:
Commons-Logging-1.1.1.jar
Commons-Httpclient-3.1.jar
Commons-Codec-1.4.jar
Следующий контент выдержек из China Jianse SMS SMS API:
GBK Кодировка адреса интерфейса:
http://gbk.sms.webchinese.cn/?uid=user Имя этого сайта и ключа = интерфейс пароль безопасности и SMSMOB = номер мобильного телефона и SMSTEXT = SMS -контент
UTF-8 Кодировка адреса интерфейса отправки:
http://utf8.sms.webchinese.cn/?
http://sms.webchinese.cn/web_api/sms/?action=sms_num&uid=usernam
http://sms.webchinese.cn/web_api/sms/gbk/?action=sms_num&uid=username этого сайта и ключ = пароль безопасности интерфейса
Совет: когда HTTP вызывает интерфейс URL, значение параметра должно быть закодировано URL перед вызовом
Пожалуйста, используйте половину уголка, чтобы разделить несколько номеров мобильных телефонов, таких как: 13888888886, 13888888887, 13888888888888 Отправить текстовые сообщения до 50 мобильных телефонов за раз и поддерживать длинные текстовые сообщения, до 300 слов, обычные текстовые сообщения 70 слов, длинные текстовые сообщения 64 слова/пост.
Вот простая демонстрация вызова SMS -интерфейсов на разных языках:
1. ASP Call
<% 'Common Function' Введите адрес веб -страницы назначения URL -адреса, а возвращаемое значение GethtTppage - это HTML -код функции веб -страницы назначения GethttPage (URL) DIM HTTP SET HTTP = Server.createObject ("msxml2.xmlhttp") http.open "get", url, false http.sendp. Затем выйдите из функции, если gethttppage = bytestobstr (http.responsebody, "gb2312") Установите http = ничто, если err.number <> 0, затем err.clear end function function byteStobstr (body, cset) dim objStream set objStream = server.Mear -obheReam = objStream = 1 objStream. 3 objStream.Open objStream.Write Body objStream.position = 0 objStream.Type = 2 objStream.Charset = cset bytestobstr = objstream.readtex sms_url = "http://sms.webchinese.cn/web_api/?uid=account&key=interface Key & SmsMob = Mobile Number & Smstext = Sms Content" response.write gethttppage (sms_url) %> %> %> %> %> %> %> %> %> %> %> % 2.c# Call
// пространство имен требуется с использованием System.net; Использование System.io; Использование 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 (совместим; 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.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; открытый класс sendmsg_webchinese {public static void main (string [] args) бросает исключение {httpclient client = new httpclient (); Postmethod post = new postmethod ("http://gbk.sms.webchinese.cn"); post.addrequestheader ("content-type", "Application/x-www-form-urlencoded; charset = gbk"); // set transcoding namevaluepair [] data = {new namevaluepair ("uid", «имя пользователя этого сайта»), New Namevaluepair («Ключ», «Интерфейс», «Пароль»), New New NamevaluePair ("smsmob", "Mobile Number"), New namevaluepair ("smstext", "sms content")}; post.setRequestbody (data); client.executemethod (post); Заголовок [] Headers = post.getResponseHeaders (); int statusCode = post.getStatuscode (); System.out.println ("StatusCode:"+StatusCode); для (заголовок H: заголовки) {System.out.println (h.toString ()); } String result = new String (post.getResponseBodyAssTring (). GetBytes ("gbk")); System.out.println (результат); post.ReleAseConnection (); }} jar package скачать
Commons-Logging-1.1.1.jar
Commons-Httpclient-3.1.jar
Commons-Codec-1.4.jar
4. PHP Call
$ url = 'http: //sms.webchinese.cn/web_api/? uid = chound & key = key = interface key & smsmob = номер мобильного телефона и smstext = sms content'; Echo Get ($ url); функция get ($ url) {if (function_exists ('file_get_contents')) {$ file_contents = file_get_contents ($ url); } else {$ ch = curl_init (); $ тайм -аут = 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
«Позвоните, чтобы отправить SMS, нолист, чтобы получить номер. Используйте несколько раз, отдельные и 70 слов содержания памяти
Публичная функция SendSMSMS (Byval nolist As String, Byval Memo As String) как строка Dim URL AS string = "http://sms.webchinese.cn/web_api/? srcstring as string = webclient.downloadstring (url) возврат srcstring reatch return "-444"
После тестирования приведенный выше исходный код Java может быть успешно отправлен, но на других языках нет тестов.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.