تقوم Java بتنفيذ وظيفة رسالة SMS من خلال منصة SMS SMS
لقد استخدمت وظيفة إرسال الرسائل النصية في المشروع ، ولكن بسبب القيود الداخلية ، وجدت سيارة بسيطة عبر الإنترنت اليوم وسجلتها على النحو التالي عندما لا يكون لدي ما أفعله:
يتم تنفيذ هذا البرنامج باستخدام منصة SMS SMS التي توفرها China Net Construction (توفر المنصة حاليًا للمستخدمين المسجلين 5 رسائل قصيرة و 3 MMS مجانية ، وهو ما يكفي لنا للاختبار. تحتاج إلى التسجيل قبل الاستخدام ، وعنوان التسجيل هو http://sms.webchinese.cn/reg.shtml). فيما يلي رمز مصدر البرنامج:
/ ** * Author dengsilinming * date 2012-9-18 * */ package com.dengsilinming.mail ؛ استيراد java.io.ioException ؛ استيراد org.apache.commons.httpclient.header ؛ استيراد org.apache.commons.httpclient.httpclient ؛ استيراد org.apache.commons.httpclient.httpclient ؛ استيراد org.apache.commons.httpclient.httpexception ؛ استيراد org.apache.commons.httpclient.namevaluepair ؛ استيراد org.apache.commons.httpclient.methods.postmethod ؛ الفئة العامة sendmsg_webchinese { / ** * Author dengsilinming * date sep 18 ، 2012 * @ttime 9:38:25 am * @param args * athrows ioException * throws httpexception * @httpexception * / public static void main (string) httpclient () ؛ postmethod post = new postmethod ("http://gbk.sms.webchinese.cn") ؛ // postmethod post = new postmethod ("http://sms.webchinese.cn/web_api/") ؛ post.addRequestHeader ("نوع المحتوى" ، "التطبيق/X-www-form-urlencoded ؛ charset = gbk") ؛ // تعيين transcoding namevaluepair [] data = {new nameValuePair ("uid" ، "dengsilinming") ، // usered usered new namevaleepair ("key" ، "key". "72DA78DA5FF54F450505") ، // بعد التسجيل بنجاح ، فإن المفتاح الذي تم الحصول عليه بعد تسجيل الدخول إلى موقع الويب هو namevaluepair ("smsmob" ، "12345678900") ، // رقم الهاتف المحمول namevaluepair ("smstext" ، " post.setRequestBody (البيانات) ؛ client.executemethod (post) ؛ header [] headers = post.getResponseHeaders () ؛ int statusCode = post.getStatusCode () ؛ System.out.println ("statusCode:" + statusCode) ؛ لـ (Header H: Headers) {System.out.println ("---" + H.ToString ()) ؛ } string result = new string (post.getResponseBodyassTring (). getBytes ("gbk")) ؛ System.out.println (نتيجة) ؛ }} هناك ثلاث حزم جرة لاستخدامها:
العموم-الانحناء -1.1.1.jar
العموم HTTPCLIENT-3.1.JAR
العموم-كودك -1.4 جار
المحتوى التالي مقتطف من الصين Jianshe SMS API:
GBK ترميز عنوان واجهة إرسال:
http://gbk.sms.webchinese.cn/؟uid=USER اسم هذا الموقع والمفتاح = واجهة الأمان كلمة مرور و smsmob = رقم الهاتف المحمول و smstext = محتوى الرسائل القصيرة
UTF-8 ترميز عنوان واجهة إرسال:
http://utf8.sms.webchinese.cn/؟uid=USER اسم هذا الموقع والمفتاح = واجهة الأمان كلمة مرور و smsmob = رقم الهاتف المحمول و SMSTEXT = محتوى SMS للحصول على عدد عنوان واجهة الرسائل القصيرة (UTF8):
http://sms.webchinese.cn/web_api/sms/؟action=SMS_NUM&UID=USERNAME لهذا الموقع والمفتاح = واجهة الأمان والأمان الحصول على عنوان واجهة رقم الرسائل القصيرة (GBK):
http://sms.webchinese.cn/web_api/sms/gbk/؟action=sms_num&uid= username من هذا الموقع والمفتاح = كلمة مرور الأمان الواجهة
نصيحة: عندما يستدعي HTTP واجهة عنوان URL ، يجب ترميز قيمة المعلمة عن عنوان URL قبل الاتصال
يرجى استخدام نصف زاوية لفصل أرقام الهواتف المحمولة المتعددة ، مثل: 13888888886 ، 1388888887 ، 13888888888888 ، أرسل رسائل نصية إلى ما يصل إلى 50 هاتفًا محمولًا في وقت واحد ودعم رسائل نصية طويلة ، ما يصل إلى 300 كلمة ، رسائل نصية عادية 70 كلمة ، رسالة نصية طويلة 64 كلمة/ما بعد ذلك
فيما يلي عرض تجريبي بسيط لاستدعاء واجهات الرسائل القصيرة بلغات مختلفة:
1. دعوة ASP
<٪ "الوظيفة المشتركة" أدخل عنوان صفحة ويب عنوان عنوان URL ، وقيمة الإرجاع gethttppage هي رمز HTML لوظيفة صفحة الويب الوجهة gethttppage (url) dim http set http = server.createBject ( ثم نهاية وظيفة الخروج إذا كان gethttppage = bytestobstr (http.responsebody ، "gb2312") اضبط http = لا شيء إذا err.number <> 0 ثم err.clear end function bytestobstr (body ، cset) dim objStream set objStream = server.createBject objstream.open objstream.write body objstream.position = 0 objStream.type = 2 objstream.charset = cset bytestobstr = objstream.readtext objstream.close set objstream = لا شيء وظيفة نهاية ' sms_url = "http://sms.webchinese.cn/web_api/؟uid=Account&Key=Interface key & smsmob = mobile number & smstext = sms content" recons
2.C# الاتصال
// مساحة الاسم المطلوبة باستخدام system.net ؛ باستخدام System.io ؛ باستخدام system.text ؛ // عند الاتصال ، تحتاج فقط إلى تمرير عنوان URL المكهوف إلى الوظيفة. ما عليك سوى الحكم على قيمة الإرجاع GETHTMLFROMURL (url url) {String Strret = null ؛ if (url == null || url.trim (). } string targeturl = url.trim (). toString () ؛ حاول {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 () ؛ دفق sr = hs.getResPonsesterAm () ؛ StreamReader ser = new StreamReader (SR ، charsoding.default) ؛ stret = ser.ReadToend () ؛ } catch (استثناء ex) {strret = null ؛ } إرجاع strrt ؛ } 3. جافا مكالمة
استيراد java.io.unsupportedencodingException ؛ استيراد org.apache.commons.httpclient.header ؛ استيراد org.apache.commons.httpclient.httpclient ؛ استيراد org.apache.commons.httpclient.namevaluepair ؛ استيراد org.apache.commons.httpclient.methods.postmethod ؛ الفئة العامة sendmsg_webchinese {public static void main (string [] args) rems {httpclient client = new httpclient () ؛ postmethod post = new postmethod ("http://gbk.sms.webchinese.cn") ؛ post.addrequestheader ("نوع المحتوى" ، "التطبيق/x-www-form-urlencoded ؛ charset = gbk") ؛ // قم بتعيين ترميز namevaluepair [] data = {new namevaluepair ("uid" ، "اسم المستخدم لهذا الموقع") ، اسم جديد ("مفتاح" ، "interface") NameValuePair ("smsmob" ، "number mobile") ، neamevaluepair ("smstext" ، "sms content")} ؛ post.setRequestBody (البيانات) ؛ client.executemethod (post) ؛ header [] headers = post.getResponseHeaders () ؛ int statusCode = post.getStatusCode () ؛ System.out.println ("statusCode:"+statusCode) ؛ لـ (Header H: Headers) {system.out.println (H.ToString ()) ؛ } string result = new string (post.getResponseBodyassTring (). getBytes ("gbk")) ؛ System.out.println (نتيجة) ؛ post.ReLeasEconnection () ؛ }} تنزيل حزمة جرة
العموم-الانحناء -1.1.1.jar
العموم HTTPCLIENT-3.1.JAR
العموم-كودك -1.4 جار
4. دعوة PHP
$ url = 'http: //sms.webchinese.cn/web_api/؟ uid = account & key = key key & smsmob = mobile number & smstext = sms content' ؛ صدى الحصول على ($ url) ؛ وظيفة الحصول على ($ url) {if (function_exists ('file_get_contents')) {$ file_contents = file_get_contents ($ url) ؛ } آخر {$ 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) ؛ } إرجاع $ file_contents ؛ } 5.vb.net Call
دعوة لإرسال الرسائل القصيرة ، Nolist لتلقي الرقم. استخدم عدة مرات ، و 70 كلمة من محتوى المذكرة
الوظيفة العامة revsms (byval nolist كسلسلة ، مذكرة byval كسلسلة) كسلسلة dim url as string = "http://sms.webchinese.cn/web_api/؟uid=Account&Key=Interface Key & smsmob = mobile nump SRCSTRING AS string = WebClient.DownloadString (url) إرجاع SRCSTRING CATC
بعد الاختبار ، يمكن إرسال رمز مصدر Java أعلاه بنجاح ، لكن اللغات الأخرى ليس لها اختبارات.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.