实现在线给手机发送短信功能

本文介绍使用Java的异步HTTP客户端发送短信的过程。通过创建CloseableHttpAsyncClient实例并启动,设置请求URL,构造POST请求参数,包括账户、密码、短信内容、接收号码和签名ID等,然后执行异步请求,最后处理响应结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.hanatech;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpPost;
import org.apache.http.concurrent.FutureCallback;
import org.apache.http.impl.nio.client.CloseableHttpAsyncClient;
import org.apache.http.impl.nio.client.HttpAsyncClients;
import org.apache.http.message.BasicNameValuePair;

public class App {
static String requestUrl="http://api.feige.ee/SmsService/Send";
public static void main(String[] args) {
	System.out.println("Hello World!");
	try {
		  List<NameValuePair> formparams = new ArrayList<NameValuePair>();
		   formparams.add(new BasicNameValuePair("Account","登录名"));
		   formparams.add(new BasicNameValuePair("Pwd","接口编码"));
		   formparams.add(new BasicNameValuePair("Content","您的登录验证码是12344!"));
		   formparams.add(new BasicNameValuePair("Mobile","***********"));//手机号
		   formparams.add(new BasicNameValuePair("SignId","113959"));//标签id
		   Post(formparams);
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

		public static void Post( List<NameValuePair> formparams) throws Exception {
			CloseableHttpAsyncClient httpClient = HttpAsyncClients.createDefault();
	
		 	httpClient.start();
		 
		   HttpPost requestPost=new HttpPost(requestUrl);
		 
	       requestPost.setEntity(new UrlEncodedFormEntity(formparams,"utf-8"));

		   httpClient.execute(requestPost, new FutureCallback<HttpResponse>() {
			
			public void failed(Exception arg0) {
				
				 System.out.println("Exception: " + arg0.getMessage());
			}
			
			public void completed(HttpResponse arg0) {
				  System.out.println("Response: " + arg0.getStatusLine());
			try {
				
				InputStream stram= arg0.getEntity().getContent();
				BufferedReader reader = new BufferedReader(new InputStreamReader(stram));
				System.out.println(	reader.readLine());
				
			} catch (UnsupportedOperationException e) {
			
				e.printStackTrace();
			} catch (IOException e) {
				
				e.printStackTrace();
			}
	
				
			}
			
			public void cancelled() {
				// TODO Auto-generated method stub
				
			}
		}).get();
		 
		  System.out.println("Done");
		 }
		 }

除了java还有其他的语言,大家感兴趣可以自己看看哈。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值