基于C#制作一个网址检测工具
创始人
2024-05-22 23:49:58
0

此文主要基于C#制作一个网址检测工具。随着时间推移以及公司人员的变动,手头所负责的项目也越来越多,对网站运行状况的管理也是一件让人十分头疼的事,秉持着偷懒是第一生产力的原则,制作一个工具对网址一键监测。

    • 实现流程
      • 1、创建项目
      • 2、页面设计
      • 3、功能实现

实现流程

1、创建项目

  1. 打开Visual Studio,右侧选择创建新项目。

在这里插入图片描述

  1. 搜索框输入winform,选择windows窗体应用,填写对应的保存路径点击下一步,创建成功后如下图,会有一个默认打开的Form窗体。

在这里插入图片描述
在这里插入图片描述

2、页面设计

  1. 准备对应的图标素材,通过Icon以及窗体Text属性修改窗体图标以及标题显示;同时配置StartPosition属性值为CenterScreen,让窗体默认居中显示。

在这里插入图片描述

在这里插入图片描述

  1. 在左侧工具箱拖拽TextBox以及Button控件,实现界面大致布局。

在这里插入图片描述
在这里插入图片描述

  1. 单击窗体上TextBox的小箭头,设置允许TextBox置于显示多行文本的模式。

在这里插入图片描述

  1. Button控件照葫芦画瓢通过设置其Text属性修改按钮文本显示。

在这里插入图片描述

在这里插入图片描述

3、功能实现

  1. 封装http请求函数,用于创建http请求及响应code。

在这里插入图片描述

public string PingUrl(string url)
{//创建HttpWeb请求var mWebRequest = (HttpWebRequest)WebRequest.Create(url);//创建HttpWeb相应var mWebResponse = (HttpWebResponse)mWebRequest.GetResponse();mWebResponse.Close();//获取响应状态码string code=mWebResponse.StatusCode.ToString();return code;
}

HttpWebRequest详解:HttpWebRequest是C#原生语法提供的实现了Http协议完整封装的类,可以实现任意类型的Http请求。

属性名称属性值
AllowAutoRedirect获取或设置一个值,该值指示请求是否应跟随重定向响应
CookieContainer获取或设置与此请求关联的cookie
Credentials获取或设置请求的身份验证信息
KeepAlive获取或设置一个值,该值指示是否与 Internet 资源建立持久性连接
MaximumAutomaticRedirections获取或设置请求将跟随的重定向的最大数目
Proxy获取或设置请求的代理信息
SendChunked获取或设置一个值,该值指示是否将数据分段发送到 Internet 资源
Timeout获取或设置请求的超时值
UserAgent获取或设置 User-agent HTTP 标头的值
ContentTypeHttp内容类型
Headers指定组成 HTTP 标头的名称/值对的集合
  1. 封装两个正则函数,判断用户输入的信息是否为正确的url地址,返回值设置为bool型即可。

在这里插入图片描述

/// 
/// 判断一个字符串是否为url
/// 
/// 
/// 
public static bool IsChinese(string str)//
{	try{string Url = @"[\u4e00-\u9fa5]";return Regex.IsMatch(str, Url);}catch (Exception ex){return false;}
}
public static bool IsWeb(string url)
{string Pattern = @"^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+";Regex r = new Regex(Pattern);Match m = r.Match(url);if (m.Success)return true;elsereturn false;
}
  1. 在窗体双击开始检测按钮,生成对应的点击事件代码。

在这里插入图片描述

在这里插入图片描述

private void bt_ping_Click(object sender, EventArgs e){}
  1. 定义一个多线程表达式。

在这里插入图片描述

private void bt_ping_Click(object sender, EventArgs e)
{int count = 0;CheckForIllegalCrossThreadCalls = false;new Thread(new ThreadStart(new Action(() =>{}))).Start();
}
  1. 定义一个变量记录行号条数,同时获取用户输入的域名数据并进行遍历。

在这里插入图片描述

 string rowNum = "";for (int i = 0; i < txt_url.Lines.Length; i++){}
  1. 在遍历的过程中调用上述步骤的正则函数判断用户输入的域名是否合法。

在这里插入图片描述

  for (int i = 0; i < txt_url.Lines.Length; i++){string url = txt_url.Lines[i].Trim();if (!string.IsNullOrEmpty(url)){if (!IsChinese(url)){if (!url.StartsWith("http")){url = string.Format("http://{0}", url);}if (IsWeb(url)){}else{}}else{}}}
  1. 通过try catch函数捕捉异常,同时将结果进行输出。

在这里插入图片描述

 if (IsWeb(url)){count++;rowNum = count < 10 ? string.Format("0{0}", count) : count.ToString();try{string ping_code = PingUrl(url);if (ping_code == "OK")txt_result.AppendText(string.Format("{0}:{1}————————>>{2}", rowNum, url, ping_code));elsetxt_error.AppendText(string.Format("{0}:{1}————————>>{2}", rowNum, url, ping_code));}catch (Exception ex){txt_error.AppendText(string.Format("{0}:{1}————————>>{2}", rowNum, url, ex.Message));txt_error.AppendText("\r\n");}}
  1. 在遍历结束后将行号进行输出,汇总显示所检测的域名数量。

在这里插入图片描述

在这里插入图片描述

  1. 分别双击清空网址及清空结果按钮,生成对应的点击事件并将TextBox清空。

在这里插入图片描述

在这里插入图片描述

private void bt_clear_Click(object sender, EventArgs e)
{txt_result.Text = "";txt_error.Text = "";
}private void bt_urllist_Click(object sender, EventArgs e)
{txt_url.Text = "";
}

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...