Java读取互联网web服务网站

news/2024/5/19 11:46:03/文章来源:https://blog.csdn.net/qq_43643118/article/details/111935439

Java基于http协议读取互联网web网站

    • 简介
    • 实例
        • 一、读取指定城市的天气预报
        • 二、给指定手机号码发送验证码
    • 总结+参考

简介

  • 网址组成分析
    网址的组成:
    协议://域名:端口号/虚拟路径?参数列表#锚点
    协议:用于计算机与计算机之间交流的协议,用于传输速率,传输编码,出错的控制等等。
    http:超文本传输协议,默认端口号:80
    https:安全超文本传输协议,默认端口号:443
    域名:ip地址的别名,是计算机在互联网中的唯一表示,such as 192.168.1.1
    端口号:范围:0-65535
    虚拟路径:通过路劲的方式,来管理服务器中的文件资源。
    参数列表:向服务器发送的数据,每一个参数都是一个键值对,键和值之间通过=号连接,多个键值对之间通过&分割。

实例

在eclipse中创建一个Java工程,此操作自行百度

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

  • 创建test2.java
    连接智能机器人API服务器地址:https://api.jisuapi.com/iqa/query
    appkey:秘钥,值为:62958a3a6ef3c56d
    question:与智能机器人的聊天内容 。
    可以修改question的内容获取不同的回复
package duanxin;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 test2 {public static void main(String[] args) throws Exception {//定义字符串存放城市信息String a=URLEncoder.encode("海南天气", "UTF-8");//定义一个URL类URL url = new URL("https://api.jisuapi.com/iqa/query?appkey=62958a3a6ef3c56d&question="+a);//连接服务器URLConnection conn = url.openConnection();//获取字节输入流 isInputStream is = conn.getInputStream();//把is变成能一次读取一行的字符输入流BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));//加载一行数据String text = br.readLine();//显示System.out.println(text);//释放资源br.close();}}

定义一个字符串用来存储与机器人聊天的内容,防止编码不同引起的错误。

  • 运行结果
    在这里插入图片描述

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

  • 基于上一个例子的代码
    将其中定义URL类对象并实例化的代码修改如下
URL url = new URL("https://itdage.com/kkb/kkbsms?key=xzk&number=18875122423&code=631807060403");

key:秘钥,值为xzk
number:接收验证码的手机号
code:A-Za-z0-9的验证码内容

上面的代码使用的短信格式是别人固定好的,不能修改,只能修改手机号和验证码内容。格式:
【itdage】作业已完成!,验证码是xxxx。如非本人操作,请忽略!

运行可以有如下结果
在这里插入图片描述

  • 2.0版本

参考网上资源弄了一个实现java发送手机验证码的工程

①注册中国网建的账号(不是广告)
新建账号的时候会附带赠5条免费短信。发送的时候可能存在延迟,室友就是迟迟收不到短信,频繁找客服因此还多得了10条免费的短信。
网址
用手机号注册登录成功之后页面如下

注册时手机号用来接受登录密码的,邮箱用来接受平台发的消息,其他随便写写

在这里插入图片描述
得到短信秘钥,跟第一个例子中的秘钥一词同义
在这里插入图片描述
填写签名,原本在短信秘钥获取的时候就能填写(这是操作后截的图)
在这里插入图片描述②导入jar包
在短信API接口中找到Java调用的代码,下载jar包
在这里插入图片描述
在eclipse中导入jar包(这个网上教程也很多,有三种方式)
最快捷的一种,这种貌似运行一次就要导入一次:
创建好工程后,右键工程名
在这里插入图片描述
导入外部的包
在这里插入图片描述编写代码:

package duanxin;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 test3 {public static void main(String[] args) throws Exception {HttpClient client = new HttpClient();PostMethod post = new PostMethod("http://utf8.api.smschinese.cn");post.addRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=UTF-8");NameValuePair[] data = {new NameValuePair("Uid", "网络编程"),new NameValuePair("Key", "d41d8cd98f00b204e980"),new NameValuePair("smsMob", "13838381438"),new NameValuePair("smsText", "验证码:631807060403,xxx,cgy公司") };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("UTF-8"));System.out.println(result);post.releaseConnection();}}

收到的内容为 签名+以下代码 ,可以自行修改

new NameValuePair("smsText", "验证码:631807060403,xxx,cgy公司") 

运行成功
在这里插入图片描述
收到短信
在这里插入图片描述如果遇到如下报错
在这里插入图片描述在进行了操作 去掉properties属性里的java compiler–>building–>abort build when build path errors occur 前的勾,还不能解决问题,那很不幸是你的JDK版本过高了。

总结+参考

中国网建提供的httpclient版本有点低,需要高的版本可以到此网站中下载–>网址。因为这个问题浪费了不少时间,以后还需要多多学习。

java实现手机发送验证码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_873258.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个非常适合python入门和学习的网站

废话不多说,直接给链接: https://www.tutorialspoint.com/python/index.htm 十分清楚和详细的讲解 支持在线编程 Have fun!

Python数据分析——某地产网站二手房销售数据分析

一、数据分析的流程思路 1、明确分析目的和思路/提出假设 2、数据收集 3、数据处理/整理 4、数据分析/验证假设 5、数据展现/可视化图表 6、报告撰写 二、分析目的 需求01:每平米二手房单价(总价,按月均价)需求02&#xf…

博学谷网站编写(HTML、CSS、JS),实现轮播图,倒计时等功能

页面效果: 2. 源码(gitee地址):https://gitee.com/meng-shuyu/boxuegu 3. 点击这里下载 zip 运行即可

小米网站编写(HTML、CSS、JS),实现轮播图

1. 页面效果: 2. 源码(gitee地址):https://gitee.com/meng-shuyu/xiaomi 3. 点击这里下载 zip 运行即可

京东网站页面编写(HTML、CSS、JS),包括京东秒杀的倒计时、轮播图等功能

1. 页面效果: 2. 源码(gitee地址):https://gitee.com/meng-shuyu/jingdong 3. 网站图标一般存储在网站的根目录下,如京东网站图标地址为: https://www.jd.com/favicon.ico 4. 点击这里下载 zip 运行即可…

【大数据新手上路】“零基础”系列课程--Flume收集网站日志数据到MaxCompute

概述:大数据时代,谁掌握了足够的数据,谁就有可能掌握未来,而其中的数据采集就是将来的流动资产积累。 任何规模的企业,每时每刻都在产生大量的数据,但这些数据如何归集、提炼始终是一个困扰。而大数据技术的…

【大数据技巧】Flume采集网站日志到MaxCompute常见问题汇总

本文列举了Flume采集网站日志到MaxCompute的一些常见问题,欢迎大家补充; Q:找不到指定路径的文件 A:本实验要在Linux系统下运行,路径也要写在Linux下的路径 Q:找不到指定sink type的类 A:插件错…

【阿里云网站日志分析实践】通过Log Service日志服务导入MaxCompute分析

日志服务收集的日志除了可以被实时查询外,还可以把日志数据投递到大数据计算服务MaxCompute(原ODPS),进一步进行个性化BI分析及数据挖掘。通过日志服务投递日志数据到MaxCompute具有如下优势: 使用非常简单。用户只需要…

【Best Practice】基于阿里云数加·StreamCompute快速构建网站日志实时分析大屏

前几天在云栖社区上写了一篇普惠性的文章,很粗偏向数据架构层面。具体可以进入:【数据架构解读】基于阿里云数加StreamCompute和MaxCompute构建的访问日志统计分析,但是在具体实操中肯定不会那么一帆风顺。为了避免大家走弯路特意先写了一篇架…

如何打造一个小而精的电商网站架构?

本文大纲: 1. 小型电商网站的架构 2. 日志与监控系统的解决方案 3. 构建数据库的主从架构 4. 基于共享存储的图片服务器架构 5. 移动M站建设 6. 系统容量预估 7. 缓存系统 一、小型电商网站的架构 刚从传统软件行业进入到电商企业时,觉得电商网站没有什么…

[基础常识]一步搭建phpwind网站

原文链接 首先我们把服务器停止,然后更换系统盘 选择我们的网站phpwind 在安全组配置添加80端口 打开网页安装即可 生成的数据库密码等可以在云市场搜索环境名称查看对应信息。 https://market.aliyun.com/ 或者直接进入服务器 输入cat default.…

网站漏洞扫瞄时被云盾拦截解决方法

原文链接 为了确保网站安全,有时需要对网站进行漏洞扫瞄,比如360网站漏洞扫瞄 但是默认情况下,扫瞄到一半就进行不下去了,原因是被云盾拦截了扫瞄程序的ip地址。 那么问题来了,有没有办法让云盾不拦截扫瞄ip地址呢&a…

帮程序员减压放松的10个良心网站

原文链接 程序员们工作之余,不妨放下微博跟朋友圈,今天推荐的网站,利用代入感强的图片与音频,迅速帮你抹平焦虑,获得平和心态,特别献需求改千遍的程序员们。 1.Calm 这是同类型中最火的网站了,站…

草根站长心酸路:你的网站后来怎么样了?

原文链接 作为一个站长,下面这些你一定都懂: 1、没有资金,连空间都用免费的 2、没有技术,连域名都不知道怎样解析 3、没有人缘,碰到问题没有人能够帮助 4、受人鄙视,有时请教一些所谓的高手,等了…

eclipse 插件与工具下载站点集合Eclipse插件网站分类

eclipse 插件与工具下载站点集合Eclipse插件网站 分类: 软件应用及编程工具 2009-04-16 17:48 工具 eclipse 插件与工具下载站点集合(大全): - 收集Eclipse插件网站 Aploo.com 2006-08-08, 11:32 上午 eclipse 插件与工具下载站点集合: 1) eclipse官方下载站点 ht…

百宝云网站监控系统运行教程

百宝云监控网站运行状态 做网站开发,或者是服务器开发时,经常需要自己去开发一个工具来监控网站、服务器的运行状况,如果出现异常,就以短信的形式通知开发者。如果自己去开发这个的一个监控软件的话,那么势必麻烦很多…

百宝云如何监控网站、服务器运行状况?

百宝云监控网站运行状态 做网站开发,或者是服务器开发时,经常需要自己去开发一个工具来监控网站、服务器的运行状况,如果出现异常,就以短信的形式通知开发者。如果自己去开发这个的一个监控软件的话,那么势必麻烦很多…

python初级实战案例, 爬取某小说网站并下载到本地txt里,分别使用bs4 xpath re 3种数据清洗方式爬数据

学python半个月 ,肝完了初级教程和简单的爬虫技术 听说爬虫初学者毕业的条件就是爬取小说并完整下载下来,于是我开始尝试用所学完成它 -----------------------------------------------------------------------------------------------------------…

通过CentOS7.3云服务器搭建网站

前提 本机为Windows10环境 准备 1.云服务器(这里我用的是腾讯云CentOS7.3) 2.HTML网页 3.WinSCP 4.Tomcat Apache 登陆云服务器 输入系统给你的密码登陆即可,端口默认22,用户名默认root。 配置云服务器JAVA环境 在云服务器命…

高性能网站实用技巧之消息队列篇

什么是消息队列 消息队列(Message Queue)是一种进程间通信或同一进程的不同线程间的通信方式。进程或者线程之间通过 消息 进行通信,消息发送后可以立即返回,由消息系统来确保信息的可靠传递,消息发布者(生…