JAVA呼叫中國網建介面實現傳送簡訊驗證碼
阿新 • • 發佈:2019-01-29
import java.io.UnsupportedEncodingException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class SendMsg_webchinese {
public static void main(String[] args)throws Exception
{
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://gbk.api.smschinese.cn");
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在標頭檔案中設定轉碼
NameValuePair[] data ={ new NameValuePair("Uid", "本站使用者名稱"),new NameValuePair("Key", "介面安全祕鑰"),new NameValuePair("smsMob","手機號碼"),new NameValuePair("smsText" ,"驗證碼:8888")};
post.setRequestBody(data);
client.executeMethod(post);
Header[] headers = post.getResponseHeaders();
int statusCode = post.getStatusCode();
System.out.println("statusCode:"+statusCode);
for(Header h : headers)
{
System.out.println(h.toString());
}
String result = new String(post.getResponseBodyAsString ().getBytes("gbk"));
System.out.println(result); //列印返回訊息狀態
post.releaseConnection();
}
}
jar包下載
commons-logging-1.1.1.jar
commons-httpclient-3.1.jar
commons-codec-1.4.jar
說明:如果返回值是200,應該是整段程式程式碼沒有執行完整,只獲取到client.executeMethod(post)HTTP狀態碼的訊息;介面是提交成功,沒有執行下半部的返回訊息程式碼。
client.executeMethod(post);HTTP狀態碼參考:http://baike.baidu.com/view/1790469.html