一、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();
}
}
运行结果如下:
二、总结
获取天气预报很简单,发生短信那里,因为一直申请不通过,就询问的同学,用了以上的网站,修改了其中的一些代码发送成功。