基于HTTP协议读取互联网上web服务器网站

该博客介绍了使用Java和eclipse实现两个功能。一是读取指定城市的天气预报信息,包括新建Java工程和类;二是给指定手机号码发送验证码,需注册短信服务,复制代码,下载并导入jar包。

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

开发环境:Java
编程工具:eclipse

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

打开eclipse,新建Java工程,命名为test,新建class,命名为test1;
代码实现:

package test;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;

public class test1 {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		String weather = URLEncoder.encode("重庆天气","UTF-8");
		URL url = new URL("https://api.jisuapi.com/iqa/query?appkey=62958a3a6ef3c56d&question="+weather);
		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();
	}

}

结果显示:
在这里插入图片描述

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

先注册短信服务,我用的短信平台是中国网建短信通
(网站链接:http://sms.webchinese.cn/reg.shtml);
注册用户,注册完后在页面左侧找到短信API接口,找到Java,把代码复制到你新建的项目里;
在这里插入图片描述
在这里插入图片描述
代码如下:

package test;

import java.io.UnsupportedEncodingException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class test2 {
	
	public static void main(String[] args) throws Exception {
			HttpClient client = new HttpClient();
			PostMethod post = new PostMethod("http://gbk.api.smschinese.cn");
			post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置转码
			NameValuePair[] data ={ new NameValuePair("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();

	    }
	}

用户名是之前注册时填的内容,接口安全密钥是在页面左侧短信密钥里,再注册签名,写在验证码后面,否则有可能在发短信时会被屏蔽掉。

复制完之后,在代码下面有个jar包,下载下来,三个都要下载;
在这里插入图片描述
把jar包导入到你项目里,可以先在你建的项目里新建一个文件夹,命名为lib,将你下载下来的jar包复制到里面去;
在这里插入图片描述
之后再选中test(这是我建的工程名),右键,选择Properties;
在这里插入图片描述
找到Libraries,选中JRE System Libraries,点击Add JARs,找到test文件下之前新建的lib文件,把之前复制进来的三个jar包都加进去。
在这里插入图片描述
结果显示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值