短信验证码被广泛应用在网站、app应用中的用户注册、密码找回等场景,那么如何实现发送短信验证码?下面以java开发语言为例,秒赛平台小编为大家分享想调用短信接口的代码。
package
test;
import
java.io.IOException;
import
java.io.UnsupportedEncodingException;
import
java.net.URISyntaxException;
import
java.net.URLEncoder;
import
org.apache.commons.httpclient.HttpClient;
import
org.apache.commons.httpclient.NameValuePair;
import
org.apache.commons.httpclient.methods.PostMethod;
import
org.apache.commons.lang3.StringUtils;
public
class
Apis {
// 短信发送接口的http地址,请咨询客服
private
static
String url =
"xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
;
// 编码格式。发送编码格式统一用UTF-8
private
static
String ENCODING =
"UTF-8"
;
public
static
void
main(String[] args)
throws
IOException, URISyntaxException {
// 账号
String account =
"************************"
;
// 密码
String pswd =
"************************"
;
// 修改为您要发送的手机号,多个用,分割
String mobile =
"13*********"
;
// 设置您要发送的内容
String msg =
"【秒赛科技】您的验证码是:1234"
;
// 发短信调用示例
System.out.println(Apis.send(account,pswd, mobile, msg));
}
/**
* 发送短信
*
* @param account
* account
* @param pswd
* pswd
* @param mobile
* 手机号码
* @param content
* 短信发送内容
*/
public
static
String send(String account,String pswd, String mobile, String msg) {
NameValuePair[] data = {
new
NameValuePair(
"account"
, account),
new
NameValuePair(
"pswd"
, pswd),
new
NameValuePair(
"mobile"
, mobile),
new
NameValuePair(
"msg"
, msg),
new
NameValuePair(
"needstatus"
,
"true"
)
};
return
doPost(url, data);
}
/**
* 基于HttpClient的post函数
* PH
* @param url
* 提交的URL
*
* @param data
* 提交NameValuePair参数
* @return 提交响应
*/
private
static
String doPost(String url, NameValuePair[] data) {
HttpClient client =
new
HttpClient();
PostMethod method =
new
PostMethod(url);
// method.setRequestHeader("ContentType",
// "application/x-www-form-urlencoded;charset=UTF-8");
method.setRequestBody(data);
// client.getParams().setContentCharset("UTF-8");
client.getParams().setConnectionManagerTimeout(
10000
);
try
{
client.executeMethod(method);
return
method.getResponseBodyAsString();
}
catch
(Exception e) {
e.printStackTrace();
}
return
null
;
}
}