Java mengimplementasikan fungsi pesan SMS melalui platform SMS SMS
Saya menggunakan fungsi mengirim pesan teks dalam proyek, tetapi karena pembatasan internal, saya menemukan online sederhana hari ini dan merekamnya sebagai berikut ketika saya tidak ada hubungannya:
Program ini diimplementasikan dengan menggunakan platform SMS SMS yang disediakan oleh China Net Construction (platform saat ini memberi pengguna terdaftar 5 SMS gratis dan 3 MM gratis, yang cukup untuk kami uji. Anda perlu mendaftar sebelum digunakan, dan alamat pendaftaran adalah http://sms.webchinese.cn/reg.shtml). Berikut ini adalah kode sumber program:
/ ** * @Author DengsilinMing * @Date 2012-9-18 * */ Paket com.dengsilinming.mail; impor java.io.ioException; impor org.apache.commons.httpclient.header; impor org.apache.commons.httpclient.httpClient; impor org.apache.commons.httpclient.httpClient; impor org.apache.commons.httpclient.httpException; impor org.apache.commons.httpclient.namevaluepair; impor org.apache.commons.httpclient.methods.postmethod; kelas publik sendmsg_webchinese { / ** * @author Dengsilinming * @Date 18 Sep 2012 * @Time 9:38:25 AM * @param args * @throws ioException * @throws httpexception * @description * / public static Main (string [] argrows {{{Btpcception {@desception { @{ @{ @{ @BtpCception { @BtpException * httpclient baru (); Postmethod post = postmethod baru ("http://gbk.sms.webchinese.cn"); // postmethod post = postmethod baru ("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"), // Setelah berhasil mendaftar, kunci yang diperoleh setelah masuk ke situs web adalah namevaluePair baru ("smsmob", "12345678900") Sm Norming. konten post.setRequestBody (data); client.executeMethod (post); Header [] header = post.getResponseaders (); int statusCode = Post.getStatusCode (); System.out.println ("StatusCode:" + StatusCode); untuk (header h: header) {System.out.println ("---" + h.tostring ()); } String result = string baru (post.getResponseBodyAsstring (). GetBytes ("gbk")); System.out.println (hasil); }} Ada tiga paket stoples untuk digunakan:
Commons-logging -.1.1.jar
commons-httpclient- 3.1.jar
commons-codec-1.4.jar
Konten berikut dikutip dari China Jianshe SMS SMS API:
GBK Pengkodean Pengiriman Alamat Antarmuka:
http://gbk.sms.webchinese.cn/?uid=user Nama situs ini & key = Kata sandi keamanan antarmuka & smsmob = nomor ponsel & smstext = konten sms
Alamat Antarmuka Pengiriman Pengkodean UTF-8:
http://utf8.sms.webchinese.cn/?uid=user Nama Situs ini & KEY = Kata Sandi Keamanan Antarmuka & SMSMOB = Nomor Ponsel & SMSTEXT = Konten SMS untuk mendapatkan jumlah alamat antarmuka SMS (UTF8):
http://sms.webchinese.cn/web_api/sms/?action=sms_num&uid=username dari Situs ini & KEY = Keamanan Antarmuka dan Keamanan Mendapatkan Alamat Antarmuka Nomor SMS (GBK):
http://sms.webchinese.cn/web_api/sms/gbk/?action=sms_num&uid=username dari situs ini & key = kata sandi keamanan antarmuka
Kiat: Saat HTTP memanggil antarmuka URL, nilai parameter harus dikodekan URL sebelum menelepon
Please use half a corner to separate multiple mobile phone numbers, such as: 13888888886, 1388888887, 138888888888888 Send text messages to up to 50 mobile phones at a time and support long text messages, up to 300 words, ordinary text messages 70 words/post, long text messages 64 words/post billing
Berikut ini adalah demo sederhana dalam memanggil antarmuka SMS dalam berbagai bahasa:
1. Panggilan ASP
<% 'Fungsi Umum' Masukkan Alamat Halaman Web Tujuan URL, dan nilai pengembalian GetHttppage adalah kode html dari fungsi web tujuan getHttppage (url) redup http http = server.createObject ("msxml2.xmlHtp") http.open "get", get ", getsead iftpead http. kemudian keluar fungsi akhir jika getHttppage = bytestoBStr (http.responseBody, "gb2312") atur http = tidak ada jika err.number <> 0 lalu kesalahan fungsi akhir. objstream.open objstream.write body objstream.position = 0 objstream.type = 2 objstream.charset = cset bytestoBstr = objstream.readtext objstream.close set ObjStream = Nothing End Function 'Anda telah menggabungkan URL yang dikirimkan untuk menambahkan akun dan kata sandi Anda ke akun Anda sendiri = sms_url = "http://sms.webchinese.cn/web_api/?uid=account&key=interface Key & smsmob = nomor ponsel & smstext = konten sms" response.write getHttppage (sms_url) %> %> 2.C# Call
// namespace diperlukan menggunakan System.net; menggunakan system.io; menggunakan System.Text; // Saat menelepon, Anda hanya perlu meneruskan URL yang dieja ke fungsi. Cukup menilai nilai pengembalian string publik getHtmlfromUrl (string url) {string strret = null; if (url == null || url.trim (). toString () == "") {return strret; } string targetUrl = url.trim (). toString (); coba {httpwebRequest hr = (httpwebRequest) webRequest.create (targetURl); hr.useragent = "mozilla/4.0 (kompatibel; 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. Panggilan Java
impor java.io.unsupportedencodingException; impor org.apache.commons.httpclient.header; impor org.apache.commons.httpclient.httpClient; impor org.apache.commons.httpclient.namevaluepair; impor org.apache.commons.httpclient.methods.postmethod; kelas publik sendmsg_webchinese {public static void main (string [] args) melempar pengecualian {httpclient client = new httpclient (); Postmethod post = postmethod baru ("http://gbk.sms.webchinese.cn"); post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//Set transcoding NameValuePair[] data ={ new NameValuePair("Uid", "user name of this site"),new NameValuePair("Key", "interface security password"),new NamevaluePair ("smsmob", "nomor ponsel"), new namevaluePair ("smstext", "sms content")}; post.setRequestBody (data); client.executeMethod (post); Header [] header = post.getResponseaders (); int statusCode = Post.getStatusCode (); System.out.println ("StatusCode:"+StatusCode); untuk (header h: header) {System.out.println (h.tostring ()); } String result = string baru (post.getResponseBodyAsstring (). GetBytes ("gbk")); System.out.println (hasil); post.releaseconnection (); }} Unduh Paket Jar
Commons-logging -.1.1.jar
commons-httpclient- 3.1.jar
commons-codec-1.4.jar
4. Panggilan PHP
$ url = 'http: //sms.webchinese.cn/web_api/? uid = akun & key = Kunci antarmuka & smsmob = nomor ponsel & smstext = konten sms'; echo get ($ url); function get ($ url) {if (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, $ timeout); $ file_contents = curl_exec ($ ch); curl_close ($ ch); } return $ file_contents; } 5.VB.NET Call
'Hubungi untuk mengirim SMS, nolist untuk menerima nomor tersebut. Gunakan beberapa kali, terpisah, dan 70 kata konten memo
Fungsi publik SendSMS (Byval nolist sebagai string, byval memo sebagai string) sebagai string red Url sebagai string = "http://sms.webchinese.cn/web_api/?uid=account&key=Interface Key & smsmob = nomor ponsel & smstext = sms konten" dimclient baru net. Sebagai string = webclient.downloadString (url) return srcstring Catch Return "-444" Akhir coba fungsi akhir
Setelah pengujian, kode sumber Java di atas dapat berhasil dikirim, tetapi bahasa lain tidak memiliki tes.
Di atas adalah semua konten artikel ini. Saya harap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.