目录
一、认识网址二、获取城市的天气预报信息三、给指定手机号码发送验证码四、实现自定义短信内容的短信验证码发送参考一、认识网址
网址的组成:协议://域名:端口号/虚拟路径?参数列表#锚点
协议: 用于计算机与计算机之间交流的协议,用于传输速率,传输编码,出错的控制等。
常用协议:
http:超文本传输协议,默认端口号:80
https:安全超文本传输协议,默认端口号:443
域名:ip地址的别名。ip地址是计算机在互联网中的唯一表示,192.168.1.1
端口号:范围:0-65535,其中0~1023有特殊含义。
虚拟路径:通过路径的方式,来管理服务器中的文件资源。
参数列表:向服务器发送的数据,每一个参数都是一个键值对,键和值之间通过=号连接,多个键值对之间通过&分割。
二、获取城市的天气预报信息
package tianqi;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import .URL;import .URLConnection;public class tianqi_1 {public static void main(String args[]) throws IOException{URL url = new URL("/iqa/query?appkey=62958a3a6ef3c56d&question=重庆天气");URLConnection conn = url.openConnection();InputStream is = conn.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));String text = br.readLine();System.out.println(text);br.close();}}
效果图
这个代码呢。只是能获取指定城市的天气,不能任意获取。
三、给指定手机号码发送验证码
同样新建Java工程,在包内新建class,写入代码
package tianqi;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import .URL;import .URLConnection;public class tianqi_1 {public static void main(String args[]) throws IOException{URL url = new URL("/kkb/kkbsms?key=xzk&number=15086842152&code=520520");URLConnection conn = url.openConnection();InputStream is = conn.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));String text = br.readLine();System.out.println(text);br.close();}}
效果如图,指定手机号,即number=后面的号码会收到短信
短信收到的消息图:
该方式是利用已经建好的API进行调用实现的。
四、实现自定义短信内容的短信验证码发送
注册一个账号想实现此功能需要申请短信服务。 可以使用阿里云提供的短信服务,但是要通过短信签名请求的审核才行,否则就无法实现该服务的使用。
也可以使用下面这个工具
链接:/api.shtml
登录
相关代码
①下载相关的jar包,并导入到工程中
jar下载地址:
/down/commons-codec-1.4.jar
/down/commons-httpclient-3.1.jar
/down/commons-logging-1.1.1.jar
②创建一个类(包含main函数)
③添加代码
import java.io.UnsupportedEncodingException;import mons.httpclient.Header;import mons.httpclient.HttpClient;import mons.httpclient.NameValuePair;import mons.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.");post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置转码NameValuePair[] data ={new NameValuePair("Uid", "本站用户名"),//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();}}
接口安全密钥的查看(默认一般相同)
如果后面遇到一些错误,可能是跟jdk版本有问题
下面这是修改jdk版本的方法:
/zeal9s/article/details/85090545
如果还有其他问题,额,加油,自己应该能找办法解决🐱🏍🐱🏍。
参考
/zhukaixin/p/9149005.html