Java批量检测网站链接是否正常,并生成检测日志文档

news/2024/5/11 23:38:28/文章来源:https://blog.csdn.net/weixin_44384605/article/details/114968310

Java批量检测网站链接是否正常,并生成检测日志文档

1.Java代码块
(生成检测日志文档文档为md格式,最好下载typora或markdown进行查看,也可根据自己所需改成txt文档)

文件名:ceshi.java

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.io.InputStream;
import java.net.URL;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;public class ceshi{public static void main(String[] args) {try {solution();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
//	检测网站链接public static List<String> test() {long start = System.currentTimeMillis();URL url;List<String> iList = new ArrayList<String>(); //测试链接集合//注意:   改为txt文档可去掉‘<br/>’  markdown换行代码iList.add("<br/>1.百度;https://www.baidu.com/");//加入测试集合中网站名称和网站地址(注意用;隔开)iList.add("<br/>2.CSDN;https://editor.csdn.net/");String sy;int natural = 0;int abnormal = 0;List<String> normal = new ArrayList<String>();//正常链接集合List<String> error = new ArrayList<String>();//错误链接集合for (int i = 0; i < iList.size(); i++) {String[] aaStrings = iList.get(i).split(";");try {url = new URL(aaStrings[1]);//测试链接是否能正常访问InputStream in = url.openStream();	//openStream 输出数据,InputStream 从流中读取数据natural++;normal.add(aaStrings[0] + "连接可用");} catch (Exception e1) {error.add(aaStrings[0]+":"+aaStrings[1]);abnormal++;url = null;}}//时间获取Date dt = new Date();String year = String.format("%tY", dt);//年String mon = String.format("%tm", dt);//月String day = String.format("%td", dt);//日String h = String.format("%tH", dt);//小时String m = String.format("%tM", dt);//分钟List<String> text = new ArrayList<String>();int all=normal.size()+error.size();//注意:   改为txt文档可去掉‘**==  ==**’   markdown中加粗和高亮代码text.add("**==注意请用typora软件进行查看==**");//注意:   改为txt文档可去掉‘<br/>’text.add("<br/>共检测" +all + "个连接");//注意:   改为txt文档可去掉‘<br/>’text.add("<br/>正常连接数:" + normal.size() + "个");if (error.size()==0) { //注意:   改为txt文档可去掉‘<br/>’text.add("<br/>检测无异常链接");}else {//注意:   改为txt文档可去掉‘<br/>’text.add("<br/>异常连接数:**==" + error.size() + "个==**");	}//注意:   改为txt文档可去掉‘<br/>’text.add("<br/>正常连接检测详情:" +normal);if (error.size()==0) { //注意:   改为txt文档可去掉‘<br/>’text.add("<br/>**异常连接检测详情:==无==**");}else {//注意:   改为txt文档可去掉‘<br/>’text.add("<br/>**异常连接检测详情:==" + error+"==**");	}long end = System.currentTimeMillis();//注意:   改为txt文档可去掉‘<br/>’text.add("<br/>检测用时:" + ((end - start) / 1000) + "秒");//注意:   改为txt文档可去掉‘<br/>’text.add("<br/>------检测时间:" + year + "年" + mon + "月" + day + "日" + h + "时" + m + "分------");if (error.size()==0) { text.add("1");}else {text.add("2");	}return text;}// 逻辑处理public static void solution() throws Exception {List<String> res = new ArrayList<String>();List<String> list = test();int i = Integer.parseInt(list.get(list.size() - 1));list.remove(list.size() - 1);write2Txt(list,i);// 写到文本}public static void write2Txt(List list, int i) throws Exception {FileWriter fw = null;Date dt = new Date();String year = String.format("%tY", dt);String mon = String.format("%tm", dt);String day = String.format("%td", dt);String h = String.format("%tH", dt);String m = String.format("%tM", dt);String wen =year+mon+day;String sy =year+mon+day+h;// 新建文件String path = null;if (i == 1) {//文本生成位置以及文件类型,可根据需要更改文件类型path = "E:\\Clog\\journal\\" +wen+"\\"+ sy + ".md";} else if (i == 2) {//链接异常文本生成位置以及文件类型,可根据需要更改文件类型path = "E:\\Clog\\journal\\" +wen+"\\"+ sy + "链接异常.md";}File file = new File(path);if (!file.exists()) {file.getParentFile().mkdirs();}file.createNewFile();try {if (!file.exists()) {file.createNewFile();}fw = new FileWriter(file);BufferedWriter out = new BufferedWriter(fw);// FileOutputStream fos = new FileOutputStream(f);// OutputStreamWriter out = new OutputStreamWriter(fos, "UTF-8");out.write(list.toString());out.close();if (i == 1) {System.out.println(list.get(0));//System.out.println(list.get(1));//System.out.println(list.get(list.size()-5));//System.out.println(list.get(list.size()-3));//System.out.println(list.get(list.size()-2));//cmd窗口输出提示System.out.println("===========写入文本成功,无异常===========");} else if (i == 2) {//System.out.println(list.get(0));//System.out.println(list.get(1));//System.out.println(list.get(list.size()-5));//System.out.println(list.get(list.size()-3));//System.out.println(list.get(list.size()-2));//cmd窗口输出提示System.out.println("===========链接异常===========");}} catch (IOException e) {e.printStackTrace();}}
}

2.cmd编译代码
普通编译:javac ceshi.java (因为有中文可能会编译报错,尽量 采用下面的命令行)
带有中文内容编译命令:javac -encoding utf-8 ceshi.java
3.运行文件
运行命令:java ceshi
测试结果(因为有网站正在进行维护无法正常链接所以输出链接异常,你可以找到生成的日志查看错误链接都要哪些)
在这里插入图片描述

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

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

相关文章

加上快捷键,让你的网站酷起来

伟大的程序员都懒。 这话是我从《PHP 与 MySQL 程序设计》中看来的&#xff0c;来自于 Larry Wall 的一句话&#xff1a; Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris. 懒的程序员的特征是&…

使用GitLab Pages托管静态网站

文章目录 前言一、GitLab Pages是什么&#xff1f;二、使用步骤1.开通账号&#xff0c;创建Git仓库同步项目2.添加.gitlab-ci.yml文件&#xff0c;开启GitLab Pages3.部署成功之后访问项目 总结 前言 在我们日常的程序员养成过程中&#xff0c;会产生一些产物&#xff0c;自己…

在12306网站上如何可以选择上中下铺

众所周知&#xff0c;在12306官方购票时无法自己选择上中下铺的&#xff0c;那么如何在12306上买到上中下铺呢&#xff0c;相信大家都会感兴趣&#xff0c;这是一个利用12306的一个web代码来实现的&#xff0c;然后结浏览器的web调式功能&#xff0c;如果你是一个web美工&#…

pc网站qq互联登录授权php版

首先看下工具类 <?php /*** QQ互联pc网页授权类*/ namespace App\Lib\QQconnect;use App\Lib\Util\Curl;class QQconnect{const err [0 >成功,100000 > 缺少参数response_type或response_type非法,100001 > 缺少参数client_id,100002 > 缺少参数client…

虚拟机内的homestead环境下的网站项目让局域网内的同事访问

# 登录进虚拟机 $ vagrant ssh # 共享本地域名 $ share apitest.cn如图红框圈住的地址就可以访问了&#xff0c;6666

怎样在织梦dedecms网站上添加漂浮广告

在织梦 dedecms的网站上添加漂浮广告其实很简单&#xff0c;这篇文章主要讲的是在织梦网站首页添加漂浮广告。 我们用本地搭建的织梦默认模板演示。 1、准备一个广告图片 准备一个广告图片&#xff0c;命名为漂浮.gif &#xff0c;设置好图片大小150*150 &#xff0c;之后把图片…

dedecms教程:多款精美分页网站模板pagelist样式

使用dedecms&#xff0c;有时需要自定义分页样式。怎么办呢&#xff1f; 不急&#xff0c;20几款精美分页样式&#xff0c;总有一款你最喜欢。使用很简单&#xff1a; 步骤&#xff1a;三步即可解决 多款精美dede分页样式.zip 1、直接覆盖include/arc.listview.class页 2、把演…

dedecms教程:网站模板自定义表单制作在线订单详细解说

一步首先你要知道自定义表单的后台界面在哪里截图 第二步添加自定义表单 我选择完全公开就是说访客提交的时候他们也是可以看到我们的自定义信息的 数据表 模板根据你的模板自定义即可 我们先look下 下面就是自定义的内容了 我随便举例给大家演示下 首先返回界面 点击红圈来添加…

dedecms教程:织梦做中英文(多语言)网站详解

对于多语言网站&#xff0c;可能许多人都想进行制作&#xff0c;可又不明白其中的道理&#xff1b;因为多语言网站不仅仅只是一个网站站点&#xff0c;具有多个而且是不同语言&#xff1b;它也不是站群&#xff0c;就是一个网站的一部分&#xff01; 首先实现多语言站点提供两种…

[原创]DEDE 织梦建站,仿站(包含5套正版建站软件)

教程包括&#xff1a; 3、dedecms仿站进门教程 本教程适用于&#xff1a; 网易博客安全提醒&#xff1a;系统检测到您当前密码的安全性较低&#xff0c;为了您的账号安全&#xff0c;建议您适时修改密码 立即修改 | 封闭 5、dedecms综合学习资料汇编&#xff1b; 重要提醒&…

简单解释网站是如何进行访问的

今天学习的时候看到一个值得记录的面试题&#xff1a; 一个网站是如何进行访问的 首先输入网址域名&#xff0c;回车&#xff1a; 1.检查本机的C:\Windows\System32\drivers\etc\hosts配置文件里有没有这个网址的域名映射 如果有&#xff0c;则直接返回对应的ip地址&#xf…

Javaweb Listener监听器的简单应用:统计网站在线人数

Listener监听器实现统计网站在线人数 开发环境&#xff1a; IntelliJ IDEA 一、什么是监听器 是指专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象&#xff0c;当被监视的对象发生变化时&#xff0c;立即采取相应的行动。 具体参考下文&#xff1a; J…

SEOER都在为网站的“流量增长优化”而迷茫

SEO优化不得不说现在做SEO的工作是非常困难的&#xff0c;而在这个行业里从业多年的SEO经理们&#xff0c;不仅仅要扛着很大的压力、还要面对下属对自己传经授教的一些期盼&#xff0c;对外更不知道搜索引擎&#xff0c;特别是百度又要干什么来剥削你的流量了&#xff01; 但其…

构建自己的网站(一)——uWSGI+Django实现显示图片点击更新

文章目录 目的说明前提遇到的问题及解决通过ip地址端口也访问不到服务器&#xff1f;域名不可用&#xff1f;域名解析后还是不可用&#xff1f;80端口没开放&#xff1f;本地实现点击切换图片djangohtml图片显示不出来&#xff1f;django服务器实现显示图片创建django项目&…

小程序打开网站小程序

呵呵&#xff0c;昨天晚上&#xff0c;快停电了&#xff0c;打开csdn &#xff0c;打开了好多的网页&#xff0c;可是 快停电&#xff0c;关网了&#xff0c;唉 &#xff01;有好多想看的网页&#xff0c;舍不得 不看&#xff0c;于是把网址 保存到一个txt文件里面&#xff0c;…

怎么使用PHP和MySQL创建个性的网站分页

分页起着重要的作用&#xff0c;在任何Web应用程序&#xff0c;具有足够大的数据被分成页。它不仅外观整洁&#xff0c;但也提高了一个网页的加载时间。所以&#xff0c;分页是很重要的一个改进的用户界面&#xff0c;并节省服务器资源。在本教程中&#xff0c;我会告诉你一个简…

谷歌的Javascript bot可以K掉你的网站

近年来由于开发商误导的企图&#xff0c;使网络更有趣的东西&#xff0c;如JavaScript和Ajax的搜索引擎不得不拿出新的工具来访问这些技术背后隐藏的内容。虽然我敢肯定&#xff0c;在Googleplex的人都没有&#xff0c;但发展背后这些先进的爬行技术最好的意图&#xff0c;他们…

转载:50个好网站,从此上网不再虚度!

《意林》&#xff0c;短小精悍的小故事&#xff0c;每次都能打动读者的心扉&#xff01;http://www.yilin.net.cn丁香园&#xff0c;一个生物学和医学专业的挚爱。http://www.dxy.cn生物谷&#xff0c;看了名字就知道是生物类的网站。http://www.bioon.com《环球科学》杂志的官…

如何在XAMPP中设置多个网站

xampp 是一个非常方便的本地 apache php mysql 的调试环境&#xff0c;在本地安装测试 WordPress 等各种博客、论坛程序非常方便。今天我们来给大家介绍一下&#xff0c;如何使用 XAMPP 在本地进行安装多个网站。 一般情况下&#xff0c;我们只需要网站程序放到 xampp/htdoc …

Linux云计算之web网站平台——LAMP

Linux Apache MySQL PHP Apache&#xff1a;实现网页共享传输 MySQL&#xff1a;实现数据存储 PHP&#xff1a;实现页面解析的解析器 浏览器&#xff1a; 仅能解析简单的HTML语言&#xff0c;无法直接解析PHP语言 部署方式&#xff1a;yum安装&#xff1a;优点&#xff1…