Сегодня я нашел несколько SMS -платформ. На самом деле, тот, который я хочу использовать больше всего, это акции. Использование функции HTTP API SMS на ней не только низкое, но также может перезарядиться не менее 100rmb. Тем не менее, обзор слишком строгий, и соответствующее приложение также должно интегрировать их функцию SMS, и для загрузки и обзора потребуется более 20 дней. Я просто хочу найти SMS -платформу, чтобы проверить ее, так что ее забыли. Затем я только что взял платформу случайного текстового сообщения на Baidu на www.wasun.cn. Я чувствовал, что пока это неплохо. По крайней мере, в тестовой учетной записи, которую он дал, не получала текстовые сообщения в течение более 5 секунд. Я посмотрел на это, и обычно было 3 секунды или даже быстрее. Затем я расскажу о методе вызова интерфейса SMS и проблем, возникших во время использования.
1. Метод запроса метода httprequest
Домо, который он дал, на самом деле инкапсулируется, который используется для запроса httpclient. Он использовал этот класс в .net раньше, и в .net также есть класс httpwebrequest. Я посмотрел на код в Java, и его функция должна быть включена в класс UrlConnection. Из-за методов времени и инкапсуляции я не изучал углубленные исследования в Интернете, но это должно иметь то же значение, что и httpwebrequest в .net. В следующем коде публикуется код класса демо -генерации HTTPClient.
посылка помощника; Импорт java.io.bufferedReader; импорт java.io.ioexception; импорт java.io.inputStreamReader; импорт java.io.printwriter; импорт java.io.unsupportedEncodingexception; импорт java.net.url; импорт java.net.url; import java.net.UrlConection; java.util.map; открытый класс httprequest { /** * Отправить запрос метода получения на указанный URL * * @param URL * URL для отправки запроса * @param param * Параметры запроса, параметры запроса должны быть в форме name1 = value1 & name2 = value2. * @return URL -ответ результат удаленного ресурса, представленного удаленным ресурсом*/ public Static String Sendget (String URL, String Param) {String result = ""; BufferedReader in = null; Попробуйте {string urlnamestring = url + "?" + param; Url Realurl = новый URL (urlnameString); // открыть соединение между URL -URLConnection Connection = Realurl.Openconnection (); // Установить атрибут общего запроса connection.setRequestProperty ("Accept", "*/*"); Connection.SetRequestProperty («Connection», «Keep-Alive»); Connection.SetRequestProperty («Пользовательский агент», «Mozilla/4.0 (совместимый; MSIE 6.0; Windows NT 5.1; SV1)»); // Создать фактическое соединение соединения. Connect (); // Получить все поля заголовка ответа <String, list <string >> map = connection.getheaderfields (); // Переносить все поля заголовка ответа для (String Key: map.keyset ()) {System.out.println (key + "--->" + map.get (key)); } // Определите входной поток BufferedReader, чтобы считать ответ URL в = новый BufferedReader (New InputStreamReader (connection.getInputStream ())); Строка; while ((line = in.readline ())! = null) {result += line; }} catch (Exception e) {System.out.println ("Исключение произошло при отправке запроса GET!" + E); e.printstacktrace (); } // Используйте наконец -то блок, чтобы закрыть поток ввода, наконец, {try {if (in! = Null) {in.close (); }} catch (Exception e2) {e2.printstackTrace (); }} return result; } /** * Отправить запрос на указанный URL * @param url * URL для отправки запроса * @param param * parameter запроса, параметр запроса должен быть в форме name1 = value1 & name2 = value2. * @return ответа результаты удаленного ресурса, представленного */ public Static String SendPost (string url, string param) {printWriter out = null; BufferedReader in = null; String result = ""; try {url Realurl = новый URL (URL); // открыть соединение между urlConnection conn = Realurl.openconcenection (); // Установить атрибут общего запроса conn.setrequestproperty ("Accept", "*/*"); conn.setrequestproperty («connection», «Keep-alive»); conn.setrequestproperty («Пользовательский агент», «Mozilla/4.0 (совместимый; msie 6.0; Windows NT 5.1; Sv1)»); // Чтобы отправить запрос сообщения, вы должны установить следующие две строки в conn.setDoOutput (true); conn.setDoinput (true); // Получить выходной поток, соответствующий объекту urlconnection = new PrintWriter (conn.getOutputStream ()); // Отправить параметр запроса out.print (param); // Buffer Out.flush () выводного потока промывки; // Определите входной поток BufferedReader для чтения ответа URL в = new BufferedReader (New InputStreamReader (conn.getInputStream ())); Строка; while ((line = in.readline ())! = null) {result += line; }} catch (Exception e) {System.out.println ("Исключение произошло при отправке запроса поста!" +e); e.printstacktrace (); } // Используйте наконец -то блоки, чтобы закрыть выходной поток и наконец входного потока {try {if (out! = Null) {out.close (); } if (in! = null) {in.close (); }} catch (ioException ex) {ex.printStackTrace (); }} try {result = new String (result.getBytes ("iso8859-1"), "UTF-8"); } catch (unsupportedencodingexception e) {// todo автоматически сгенерированный блок e.printstacktrace (); } return Result; }}2. Официальная демонстрация кода запроса метода httpclient
// Импорт java.io.fileinputstream; // import java.io.filenotfoundexception; импорт java.io.ioexception; импорт org.apache.commons.httpclient.httpclient; импорт org.apache.commons.httpclient.httpexception; org.apache.commons.httpclient.namevaluepair; импорт org.apache.commons.httpclient.methods.postmethod; импорт org.dom4j.document; import org.dom4j.documentexception; импорт org.dom4j.documenthelper; Импорт org.dom4j.element; открытый класс Sendsms {Private Static String url = "http://121.199.?.178/webservice/sms.php?method=submit"; public static void main (string [] args) {httpclient client = new httpclient (); Postmethod Method = новый постметод (URL); //client.getParams().setContentCharset("gbk "); client.getParams (). SetContentArSet ("UTF-8"); method.setRequestHeader ("contentType", "Application/xww-form-urlencoded; charset = utf-8"); String Content = new String («Ваш код проверки: 7528. Пожалуйста, не утечь код проверки для других.»); Namevaluepair [] data = {// отправить SMS New nameValuePair («учетная запись», «Имя пользователя»), New nameValuePair («Пароль», «Пароль»), // Пароль можно зашифровать с использованием пароля с открытым текстом или 32-битным MD5 // New nameValuePair («Пароль», util.String. NamevaluePair («Мобильный», «номер мобильного телефона»), новый namevaluePair ("content", content),}; method.setRequestbody (data); try {client.executemethod (method); String upportResult = method.getResponseBodyAssTring (); //System.out.println(submitresult); Документ doc = documentHelper.parsetext (отправить); Элемент root = doc.getRootelement (); String Code = root.ElementText ("code"); String msg = root.elementText ("msg"); String smsid = root.elementText ("SMSID"); System.out.println (код); System.out.println (MSG); System.out.println (SMSID); if (code == "2") {System.out.println ("SMS -представление успешно"); }} catch (httpexception e) {// todo автоматически сгенерированный блок e.printstacktrace (); } catch (ioException e) {// todo автоматически сгенерированный блок e.printstacktrace (); } catch (documentException e) {// todo автоматически сгенерированный блок e.printstacktrace (); }} 0 3. Вызовите инкапсулированный код Httprequest
String phonemessageparameter = new String ("account =? & Password = wxhdcs@456 & content = ваш код проверки: [переменная]. Пожалуйста, не утечь код проверки для других. & Mobile =? & Stime = 2012-08-01%208: 20: 23 & sign =? & Type = pt & extno ="); returnResult = httprequest.sendpost ("http://121.?Если вы используете эту платформу, вы должны обратить на нее внимание. Имя параметра в его официальном документе неверно, демонстрация верна, и его интерфейс записан в WebServer. Он возвращает не JSON или XML -данные, а стандартную HTML -страницу, а затем все необходимое содержимое записано в тегах в HTML. Если это содержимое тестового содержимого, параметр должен быть записан так, как они указали, в противном случае сообщается об ошибке. Если вы покупаете его официально, вы можете установить контент шаблона самостоятельно.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.