/** * 发送单条短信 * * @param mobileNumber 手机号码 * @param content 短信内容 */pubilc void test(String mobileNumber,String content){ LOGGER.info("start into sms send. accept=[{}]", mobileNumber); //1建立HttpClient对象实例 HttpClient client = new HttpClient(); //2.创建请求方式post,并制定url PostMethod post = new PostMethod(url); //在头文件设置转码 post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); //3.HttpPost,需要NameValuePair对象来设置请求参数。 NameValuePair[] data = { new NameValuePair("username", username), new NameValuePair("secret_key", password), new NameValuePair("to", mobileNumber), new NameValuePair("body", sign + content), }; post.setRequestBody(data); try { //发送短信 Integer status = client.executeMethod(post); LOGGER.info("end send message. status=[{}]", status); System.out.println("end send message. status=[{}]" + status); if (status != 200) { throw new SMSException(SMSResponseCode.getMsgByCode(status).orElse("短信未知错误,status=" + status)); } } catch (IOException e) { LOGGER.error("send sms IOException", e); throw new SMSException("发送单条短信IO异常", e); } finally { //关闭连接 post.releaseConnection(); LOGGER.info("end sms send. accept=[{}]", mobileNumber); }}第一个导入这个包:
import org.apache.commons.httpclient.HttpClient;
第二个这个包:
import org.apache.http.impl.client.CloseableHttpClient;
public static void sendTest(){
// 创建默认的httpClient实例. CloseableHttpClient httpclient = HttpClients.createDefault(); // 创建httppost HttpPost httppost = new HttpPost(url); // 创建参数队列 List<BasicNameValuePair> formparams = new ArrayList<BasicNameValuePair>(); formparams.add(new BasicNameValuePair("username", "***")); formparams.add(new BasicNameValuePair("key", "***")); formparams.add(new BasicNameValuePair("to", "sdfsfcdfs")); formparams.add(new BasicNameValuePair("body", "【短信签名】脸搁着了,亲不亲看你了。")); UrlEncodedFormEntity uefEntity; try { uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8"); httppost.setEntity(uefEntity); System.out.println("executing request " + httppost.getURI()); CloseableHttpResponse response = httpclient.execute(httppost); try { HttpEntity entity = response.getEntity(); int code = response.getStatusLine().getStatusCode(); System.out.println(code); if (entity != null) { System.out.println("--------------------------------------"); System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8")); System.out.println("--------------------------------------"); } } finally { response.close(); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // 关闭连接,释放资源 try { httpclient.close(); } catch (IOException e) { e.printStackTrace(); } } }