Java ใช้ฟังก์ชั่นข้อความ SMS ผ่านแพลตฟอร์ม SMS SMS
ฉันใช้ฟังก์ชั่นการส่งข้อความในโครงการ แต่เนื่องจากข้อ จำกัด ภายในฉันพบออนไลน์ง่ายๆในวันนี้และบันทึกไว้ดังนี้เมื่อฉันไม่มีอะไรจะทำ:
โปรแกรมนี้ดำเนินการโดยใช้แพลตฟอร์ม SMS SMS ที่จัดทำโดย China Net Construction (แพลตฟอร์มในปัจจุบันให้ผู้ใช้ที่ลงทะเบียนด้วย SMS ฟรี 5 ฟรีและ 3 MM ฟรีซึ่งเพียงพอสำหรับเราที่จะทดสอบคุณต้องลงทะเบียนก่อนการใช้งาน ต่อไปนี้เป็นซอร์สโค้ดโปรแกรม:
/ ** * @author dengsilinming * @date 2012-9-18 * */ แพ็คเกจ 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 18 ก.ย. 2012 * @time 9:38:25 am * @param args * @throws ioexception * @throws httpexception * @description * httpClient (); postmethod post = postmethod ใหม่ ("http://gbk.sms.webchinese.cn"); // postmethod post = postmethod ใหม่ ("http://sms.webchinese.cn/web_api/"); post.addrequestheader ("เนื้อหาประเภท", "แอปพลิเคชัน/x-ww-form-urlencoded; charset = gbk"); // ตั้งค่าการแปลงรหัส namevaluepair [] data = {namevaluepair ใหม่ ("uid", "Dengsilinming" "72DA78DA5FF54F450505"), // หลังจากการลงทะเบียนสำเร็จแล้วกุญแจที่ได้รับหลังจากเข้าสู่เว็บไซต์คือ NamevaluePair ใหม่ ("SMSMOB", "12345678900"), // หมายเลขโทรศัพท์มือถือ โพสต์เนื้อหา setrequestbody (ข้อมูล); client.executemethod (โพสต์); ส่วนหัว [] ส่วนหัว = post.getResponseHeaders (); Int StatusCode = post.getStatusCode (); System.out.println ("StatusCode:" + StatusCode); สำหรับ (ส่วนหัว H: ส่วนหัว) {system.out.println ("---" + h.toString ()); } string result = สตริงใหม่ (post.getResponseBodyString (). getBytes ("GBK")); System.out.println (ผลลัพธ์); - มีสามแพ็คเกจขวดที่จะใช้:
Commons-Logging-1.1.1.jar
Commons-httpclient-3.1.jar
Commons-codec-1.4.jar
เนื้อหาต่อไปนี้ถูกตัดตอนมาจาก China Jianshe SMS SMS API:
การเข้ารหัส GBK ที่อยู่อินเตอร์เฟสการส่ง:
http://gbk.sms.webchinese.cn/?uid=User ชื่อของเว็บไซต์นี้ & key = รหัสผ่านความปลอดภัยอินเตอร์เฟส & smsmob = หมายเลขมือถือ & smstext = เนื้อหา SMS
UTF-8 การเข้ารหัสที่อยู่อินเตอร์เฟสการส่ง:
http://utf8.sms.webchinese.cn/?uid=user ชื่อของเว็บไซต์นี้ & key = รหัสผ่านความปลอดภัยอินเตอร์เฟส & smsmob = หมายเลขมือถือ & smstext = เนื้อหา SMS เพื่อรับจำนวนที่อยู่อินเตอร์เฟส SMS (UTF8):
http://sms.webchinese.cn/web_api/sms/?Action=SMS_NUM&UID=USERNAME ของเว็บไซต์นี้ & key = ความปลอดภัยของอินเทอร์เฟซและความปลอดภัยได้รับที่อยู่อินเตอร์เฟสหมายเลข SMS (GBK):
http://sms.webchinese.cn/web_api/sms/gbk/?action=sms_num&uid=username ของเว็บไซต์นี้ & key = รหัสผ่านความปลอดภัยอินเตอร์เฟส
เคล็ดลับ: เมื่อ HTTP เรียกอินเทอร์เฟซ URL ค่าพารามิเตอร์จะต้องเข้ารหัส URL ก่อนโทร
โปรดใช้ครึ่งมุมหนึ่งในการแยกหมายเลขโทรศัพท์มือถือหลายหมายเลขเช่น: 13888888886, 1388888887, 1388888888888888 ส่งข้อความไปยังโทรศัพท์มือถือสูงสุด 50 เครื่องในแต่ละครั้ง
นี่คือการสาธิตอย่างง่าย ๆ ของการเรียกใช้อินเทอร์เฟซ SMS ในภาษาต่าง ๆ :
1. การโทร ASP
<% 'ฟังก์ชั่นทั่วไป' ป้อนที่อยู่เว็บเพจปลายทาง URL และค่าส่งคืน gethttppage คือรหัส HTML ของเว็บเพจปลายทางฟังก์ชัน gethttppage (URL) DIM http set http = server.createObject ("msxml2.xmlhttp") http.open "get" get " http.readystate <> 4 จากนั้นออกจากฟังก์ชันสิ้นสุดถ้า gethttppage = bytestobstr (http.responsebody, "gb2312") ตั้งค่า http = ไม่มีอะไรถ้า err.number <> 0 จากนั้นฟังก์ชั่นฟังก์ชั่นปลายฟังก์ชั่น objstream.type = 1 objstream.mode = 3 objstream.open objstream.write body objstream.position = 0 objstream.type = 2 objstream.charset = cset bytestobstr = objstream.readetext SMS_URL = "http://sms.webchinese.cn/web_api/?uid=account&key=interface คีย์ & smsmob = หมายเลขโทรศัพท์มือถือ & smstext = เนื้อหา SMS" response.write gethttppage (sms_url) %> %> 2.C# โทร
// เนมสเปซที่จำเป็นโดยใช้ System.net; ใช้ system.io; ใช้ System.Text; // เมื่อโทรคุณจะต้องส่ง URL ที่สะกดไปยังฟังก์ชั่นเท่านั้น เพียงแค่ตัดสินค่าคืนค่าสตริงสาธารณะ gethtmlfromurl (url string) {string strret = null; if (url == null || url.trim (). toString () == "") {return strret; } สตริง 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.getResponSestream (); StreamReader ser = ใหม่ streamReader (sr, encoding.default); strret = ser.readtoend (); } catch (exception ex) {strret = null; } return strret; - 3.JAVA CALL
นำเข้า java.io.unsupportencodingexception; นำเข้า org.apache.commons.httpclient.header; นำเข้า org.apache.Commons.httpClient.httpClient; นำเข้า org.apache.commons.httpclient.namevaluePair; นำเข้า org.apache.commons.httpclient.methods.postmethod; คลาสสาธารณะ SENDMSG_WEBCHINESE {โมฆะสาธารณะคงที่หลัก (สตริง [] args) พ่นข้อยกเว้น {httpClient client = new httpClient (); postmethod post = postmethod ใหม่ ("http://gbk.sms.webchinese.cn"); post.addrequestheader ("เนื้อหาประเภท", "แอปพลิเคชัน/x-ww-form-urlencoded; charset = gbk"); // ตั้งค่าการแปลงรหัส namevaluepair [] data = {namevaluepair ใหม่ ("uid", "ชื่อผู้ใช้ของเว็บไซต์นี้") NamevaluePair ("SMSMOB", "หมายเลขโทรศัพท์มือถือ"), NAMEVALUEPAIR ใหม่ ("SMSTEXT", "SMS Content")}; post.setRequestbody (ข้อมูล); client.executemethod (โพสต์); ส่วนหัว [] ส่วนหัว = post.getResponseHeaders (); Int StatusCode = post.getStatusCode (); System.out.println ("StatusCode:"+StatusCode); สำหรับ (ส่วนหัว H: ส่วนหัว) {System.out.println (H.ToString ()); } string result = สตริงใหม่ (post.getResponseBodyString (). getBytes ("GBK")); System.out.println (ผลลัพธ์); Post.Releaseconnection (); - ดาวน์โหลดแพ็คเกจ JAR
Commons-Logging-1.1.1.jar
Commons-httpclient-3.1.jar
Commons-codec-1.4.jar
4. การโทร PHP
$ url = 'http: //sms.webchinese.cn/web_api/? uid = account & key = อินเตอร์เฟสคีย์ & smsmob = หมายเลขมือถือ & smstext = เนื้อหา SMS'; Echo Get ($ url); ฟังก์ชั่นรับ ($ url) {ถ้า (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, $ หมดเวลา); $ file_contents = curl_exec ($ ch); curl_close ($ ch); } ส่งคืน $ file_contents; - 5.VB.NET CALL
'โทรไปส่ง SMS, Nolist เพื่อรับหมายเลข ใช้หลายครั้งแยกและ 70 คำของเนื้อหาบันทึก
ฟังก์ชั่นสาธารณะ sendsms (byval nolist เป็น string, byval memo เป็นสตริง) เป็นสตริง dim url เป็น string = "http://sms.webchinese.cn/web_api/?uid=Account&key=Interface & smsmob = หมายเลขมือถือ srcString เป็น string = webClient.downloadString (URL) ส่งคืน srcString catch return "-444" end try end function
หลังจากการทดสอบซอร์สโค้ด Java ข้างต้นสามารถส่งได้สำเร็จ แต่ภาษาอื่นไม่มีการทดสอบ
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น