HTTP和MQQT协议实践

一、HTTP应用的两个实例(Java):

a、读取指定城市的天气预报信息

两个例子的关键是接收来自网页的数据,

定义URL对象:

URL url = new URL(“https://api.XXX”+XXX);

新建getweather包,再新建Getweather类:

在这里插入图片描述

代码如下:

package getweather;

import java.net.URL;
import java.net.HttpURLConnection;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
import java.io.ObjectInputStream;
import java.util.regex.*;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;


public class Getweather {
    
    
	public static void main(String[] args) throws IOException {
    
    
		// TODO Auto-generated method stub
		String weather=URLEncoder.encode("重庆天气","UTF-8");
		//1. 	先准备一个URL类的对象 u
		URL url = new URL("https://api.jisuapi.com/iqa/query?appkey=62958a3a6ef3c56d&question="+weather);
		//2. 	打开服务器连接,得到连接对象 conn
		URLConnection conn = url.openConnection();
		//3. 	获取加载数据的字节输入流 is
		InputStream is = conn.getInputStream();
		//4.	将is装饰为能一次读取一行的字符输入流 br
		BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
		//5.	加载一行数据
		String text = br.readLine();
		//6.	显示		
		//截取相关内容
		int i=text.indexOf("content");
		int j=text.indexOf("relquestion");
		String text1=text.substring(i+10, j-3);
		int m=text1.indexOf("<5.4m\\/s\\r\\n");
		String text2="";
		text2=text1.substring(m+12, text1.length());
		text1=text1.substring(0, m);
		System.out.println(text1);
		System.out.println(text2);
		//7.	释放资源	
		br.close();
	}
}

运行之后:

在这里插入图片描述

b、给指定手机号码发送验证码

同样,找到相关的API开发平台或者运营公司:
我们找同学了解到这种
在这里插入图片描述

下面展示一些 内联代码片。

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Scanner;

public class SendMessage {
    
    

	public static void main(String[] args) throws Exception {
    
    
		// TODO Auto-generated method stub
		//关键使用步骤:
		//1. 	先准备一个URL类的对象 u
		URL url = new URL("https://itdage.com/kkb/kkbsms?key=xzk&number=要发送信息的目的电话号码&code=8888");
		//2. 	打开服务器连接,得到连接对象 conn
		URLConnection conn = url.openConnection();
		//3. 	获取加载数据的字节输入流 is
		InputStream is = conn.getInputStream();
		//4.	将is装饰为能一次读取一行的字符输入流 br
		BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
		//5.	加载一行数据
		String text = br.readLine();
		//6.	显示
		System.out.println(text);
		//7.	释放资源
		br.close();
	}
}


运行结果如下:

在这里插入图片描述

二、总结

获取天气预报很简单,发生短信那里,因为一直申请不通过,就询问的同学,用了以上的网站,修改了其中的一些代码发送成功。

猜你喜欢

转载自blog.csdn.net/iostreamhvoid/article/details/112207427