Hari ini saya menemukan beberapa platform SMS. Faktanya, yang paling ingin saya gunakan adalah SharesDK. Menggunakan fungsi HTTP API SMS di atasnya tidak hanya rendah, tetapi juga dapat mengisi ulang setidaknya 100RMB. Namun, ulasannya terlalu ketat, dan aplikasi yang sesuai juga harus mengintegrasikan fungsi SMS mereka, dan akan membutuhkan lebih dari 20 hari untuk mengunggah dan ditinjau. Saya hanya ingin menemukan platform SMS untuk mengujinya, jadi lupa. Lalu saya hanya mengambil platform pesan teks acak di Baidu di www.wasun.cn. Saya merasa itu tidak buruk untuk saat ini. Setidaknya akun pengujian yang diberikannya tidak menerima pesan teks selama lebih dari 5 detik. Saya melihatnya dan biasanya 3 detik atau bahkan lebih cepat. Selanjutnya, saya akan berbicara tentang metode memanggil antarmuka SMS dan masalah yang dihadapi saat digunakan.
1. Metode Permintaan Metode HttPRequest
Domo yang ia berikan sebenarnya dienkapsulasi, yang digunakan untuk meminta httpclient. Dia telah menggunakan kelas ini di .net sebelumnya, dan ada juga kelas HTTPWebRequest di .net. Saya melihat kode di Java dan fungsinya harus dienkapsulasi ke dalam kelas koneksi URLC. Karena metode waktu dan enkapsulasi, saya belum mempelajari penelitian mendalam di internet, tetapi harus memiliki arti yang sama dengan httpwebRequest di .net. Kode berikut diposting, termasuk kode kelas pembuatan demo HTTPClient.
pembantu paket; impor java.io.bufferedreader; impor java.io.ioexception; impor java.io.inputStreamreader; impor java.io.printwriter; impor java.io.unsupportedencodingException; impor java.net.url; impor java.net.uret.ururl; java.util.list; import java.util.map; kelas publik httprequest { /** * Kirim permintaan metode GET ke URL yang ditentukan * * @param URL * URL untuk mengirim permintaan * @param parameter * Parameter permintaan, parameter permintaan harus dalam bentuk name1 = value1 & value2 = value2. * @Return URL Hasil respons dari sumber daya jarak jauh yang diwakili oleh sumber daya jarak jauh*/ public static string sendGet (string url, string param) {string result = ""; BufferedReader di = null; coba {string urlnamestring = url + "?" + param; Url realUrl = URL baru (urlnamestring); // buka koneksi antara koneksi URL URLConnection = realUrl.openconnection (); // Atur koneksi atribut permintaan umum.setRequestProperty ("terima", "*/*"); Connection.setRequestProperty ("Connection", "Keep-Alive"); Connection.setRequestProperty ("User-Agent", "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1; SV1)"); // Buat koneksi koneksi aktual.connect (); // Dapatkan semua bidang header respons peta <string, daftar <string>> map = connection.getHeaderFields (); // lintasi semua bidang header respons untuk (tombol string: map.keyset ()) {System.out.println (key + "--->" + Map.get (key)); } // Tentukan aliran input BufferedReader untuk membaca respons URL di = BufferedReader baru (inputStreamReader baru (connection.getInputStream ())); Garis string; while ((line = in.readline ())! = null) {result += line; }} catch (Exception e) {System.out.println ("Pengecualian terjadi saat mengirim permintaan GET!" + E); e.printstacktrace (); } // Gunakan blok akhirnya untuk menutup aliran input akhirnya {coba {if (in! = Null) {in.close (); }} catch (Exception e2) {e2.printstacktrace (); }} hasil pengembalian; } /** * Kirim permintaan ke URL yang ditentukan * URL @param * URL untuk mengirim permintaan * @param paramer * parameter permintaan, parameter permintaan harus dalam bentuk nama1 = value1 & name2 = value2. * @Return Hasil respons dari sumber daya jarak jauh yang diwakili oleh */ public static string sendPost (string url, string param) {printwriter out = null; BufferedReader di = null; Hasil string = ""; coba {url realUrl = URL baru (url); // buka koneksi antara urlconnection conn = realUrl.openconnection (); // Atur atribut permintaan umum Conn.setRequestProperty ("Recept", "*/*"); Conn.setRequestProperty ("Connection", "Keep-Alive"); Conn.setRequestProperty ("User-Agent", "Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1; SV1)"); // Untuk mengirim permintaan pos, Anda harus mengatur dua baris berikut ke Conn.setDoOutput (true); Conn.setDoInput (true); // Dapatkan aliran output yang sesuai dengan objek URLConnection out = printwriter baru (conn.getoutputStream ()); // Kirim parameter permintaan out.print (param); // buffer out.flush () dari aliran output flush; // Tentukan aliran input BufferedReader untuk membaca respons URL di = BufferedReader baru (inputStreamReader baru (conn.getInputStream ())); Garis string; while ((line = in.readline ())! = null) {result += line; }} catch (Exception e) {System.out.println ("Pengecualian terjadi saat mengirim permintaan pos!" +e); e.printstacktrace (); } // Gunakan akhirnya blok untuk menutup aliran output dan aliran input akhirnya {coba {if (out! = Null) {out.close (); } if (in! = null) {in.close (); }} catch (ioException ex) {ex.printstacktrace (); }} coba {hasil = string baru (result.getBytes ("iso8859-1"), "utf-8"); } catch (UnsupportedEncodingException e) {// TODO Auto-Enchenerated Catch Block E.PrintStackTrace (); } hasil pengembalian; }}2. Kode Permintaan Metode Demo Resmi
// impor java.io.fileInputStream; // import java.io.filenotfoundException; import java.io.ioException; import org.apache.commons.httpclient.httpclient; import orgache.commons.httpclient.htpclient; import; org.apache.commons.httpclient.namevaluepair; impor org.apache.commons.httpclient.methods.postmethod; impor org.dom4j.document; import org.dom4j.documentException; impor org.dom.documenthelper; impor org.dom4j.element; kelas publik sendsms {private static string url = "http://121.199.?.178/webservice/sms.php?method=submit"; public static void main (string [] args) {httpClient client = new httpclient (); Metode postmethod = postmethod baru (url); //client.getParams().setContentCharset("gbk "); client.getParams (). setContentCharset ("UTF-8"); method.setRequestHeader ("ContentType", "Application/X-WWW-Form-Urlencoded; Charset = UTF-8"); String Content = New String ("Kode verifikasi Anda adalah: 7528. Tolong jangan membocorkan kode verifikasi kepada orang lain."); NameValuePair[] data = {//Submit SMS new NameValuePair("account", "user name"), new NameValuePair("password", "password"), //Password can be encrypted using plaintext password or 32-bit MD5 //new NameValuePair("password", util.StringUtil.MD5Encode("password")), new NamevaluePair ("seluler", "nomor ponsel"), new namevaluePair ("konten", konten),}; method.setRequestBody (data); coba {client.executeMethod (metode); String submitResult = Method.getResponseBodyString (); //System.out.println(submitresult); Dokumen doc = documenthelper.parsetext (submitResult); Elemen root = doc.getrooteLement (); Kode string = root.elementText ("kode"); String msg = root.elementText ("msg"); String smsid = root.elementText ("smsid"); System.out.println (kode); System.out.println (msg); System.out.println (SMSID); if (code == "2") {System.out.println ("Pengajuan SMS berhasil"); }} catch (httpException e) {// todo auto-generated catch block e.printstacktrace (); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); } catch (DocumentException e) {// TODO AUTO-ENTO-ENTEERATED Catch Block E.PrintStackTrace (); }} 0 3. Panggil kode httpripest yang dienkapsulasi
String phonemessageParameter = string baru ("akun =? & Kata sandi = wxhdcs@456 & konten = kode verifikasi Anda adalah: [variabel]. Harap jangan membocorkan kode verifikasi kepada orang lain. & Mobile =? & Stime = 2012-08-01%208: 20: 23 & tanda tangan =? & Tipe = pt & extno ="); returnResult = httprequest.sendpost ("http://121.?.16.178/webservice/sms.php?method=submit", fonemessageParameter); out.println ("<crips> warnanya ("+returnresult+");Jika Anda menggunakan platform ini, Anda harus memperhatikannya. Nama parameter dalam dokumen resminya salah, demo itu benar, dan antarmuka ditulis di webserver. Ini mengembalikan bukan data JSON atau XML, tetapi halaman HTML standar, dan kemudian semua konten yang diperlukan ditulis dalam tag di HTML. Jika itu adalah konten konten tes, parameter harus ditulis seperti yang ditentukan, jika tidak kesalahan akan dilaporkan. Jika Anda membelinya secara resmi, Anda dapat mengatur konten template sendiri.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.