JAVA後臺通過http呼叫簡訊API
阿新 • • 發佈:2019-01-01
來自一個剛勉強脫離小白的程式猿分享
由於專案中需要呼叫到一個簡訊驗證介面,所以就開始了漫漫長尋找免費介面之路,然而幾個小時無果,轉念一想就試試能不能用,隨便一個能用一下就好,然後找到一個可以免費用20次的介面,不多說,直接上鍊接https://wx.jcloud.com/gwtest/init/11980
接下來就是後臺原始碼了:
package com.zl.sendms; import java.io.IOException; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; public class sendms { //https://way.jd.com/CL253/cl253_json?phone=13917969023&msg=【253雲通訊】您的驗證碼是123456&appkey=81b7c0db9cefcece27604c6bc3289aab private static String Url = "https://way.jd.com/CL253/cl253_json?"; public static void main(String[] args) { HttpClient client = new HttpClient(); PostMethod method = new PostMethod(Url); //client.getParams().setContentCharset("GBK"); client.getParams().setContentCharset("UTF-8"); method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8"); int code=(int)(Math.random()*(9999-1000+1))+100000;//產生6位隨機數 NameValuePair[] data = {//提交簡訊 new NameValuePair("account", "使用者名稱"), new NameValuePair("password", "密碼"), new NameValuePair("phone", "手機號"), new NameValuePair("msg", "【253雲通訊】您的驗證碼是7528"), new NameValuePair("appkey", "81b7c0db9cefcece27604c6bc3289aab"), }; method.setRequestBody(data); try { client.executeMethod(method); System.out.println(method.getResponseBodyAsString()); } catch (HttpException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //System.out.println("簡訊提交成功"); } }
以上為呼叫的京東永珍的介面,appkey申請賬戶後會自動生成一個,執行後
19:07:55.080 [main] DEBUG httpclient.wire.content - << "{"code":"10000","charge":false,"msg":"[0xe6][0x9f][0xa5][0xe8][0xaf][0xa2][0xe6][0x88][0x90][0xe5][0x8a][0x9f]","result":{"code":"116","msgId":"","time":"20171103191018","errorMsg":"[0xe7][0xad][0xbe][0xe5][0x90][0x8d][0xe9][0x94][0x99][0xe8][0xaf][0xaf]"}}" 19:07:55.080 [main] DEBUG org.apache.commons.httpclient.HttpMethodBase - Should close connection in response to directive: close 19:07:55.081 [main] DEBUG org.apache.commons.httpclient.HttpConnection - Releasing connection back to connection manager. {"code":"10000","charge":false,"msg":"查詢成功","result":{"code":"116","msgId":"","time":"20171103191018","errorMsg":""}}
表示執行成功,接收到資訊的時間和平臺有關
jintjin