开发者

手把手教你如何基于C#制作一个网址检测工具

开发者 https://www.devze.com 2023-02-16 10:53 出处:网络 作者: 摔跤猫子
目录前言实现流程1、创建项目2、页面设计3、功能实现 总结前言 此文主要基于C#制作一个网址检测工具。随着时间推移以及公司人员的变动,手头所负责的项目也越来越多,对网站运行状况的管理也是一件让人十分头疼
目录
  • 前言
  • 实现流程
    • 1、创建项目
    • 2、页面设计
    • 3、功能实现
  •  总结

    前言

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

    手把手教你如何基于C#制作一个网址检测工具

    实现流程

    1、创建项目

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

    手把手教你如何基于C#制作一个网址检测工具

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

    手把手教你如何基于C#制作一个网址检测工具

    手把手教你如何基于C#制作一个网址检测工具

    2、页面设计

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

    手把手教你如何基于C#制作一个网址检测工具

    手把手教你如何基于C#制作一个网址检测工具

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

    手把手教你如何基于C#制作一个网址检测工具

    手把手教你如何基于C#制作一个网址检测工具

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

    手把手教你如何基于C#制作一个网址检测工具

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

    手把手教你如何基于C#制作一个网址检测工具

    手把手教你如何基于C#制作一个网址检测工具

    3、功能实现

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

    手把手教你如何基于C#制作一个网址检测工具

    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 标头的名称/值对的集合
    封装两个正则函数,判断用户输入的信息是否为正确的url地址,返回值设置为bool型即可。

    手把手教你如何基于C#制作一个网址检测工具

    /// <summary>
    /// 判断一个字符串是否为url
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    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;
        else
            return false;
    }
    
    在窗体双击开始检测按钮,生成对应的点击事件代码。

    手把手教你如何基于C#制作一个网址检测工具

    手把手教你如何基于C#制作一个网址检测工具

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

    手把手教你如何基于C#制作一个网址检测工具

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

    手把手教你如何基于C#制作一个网址检测工具

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

    手把手教你如何基于C#制作一个网址检测工具

      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
              {
              }http://www.devze.com
          }
      }
    
    通过try catch函数捕捉异常,同时将结果进行输出。

    手把手教你如何基于C#制作一个网址检测工具

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

    手把手教你如何基于C#制作一个网址检测工具

    手把手教你如何基于C#制作一个网址检测工具

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

    手把手教你如何基于C#制作一个网址检测工具

    手把手教你如何基于C#制作一个网址检测工具

    private void bt_clear_Click(object sender, EventArgs e)
    {
        txt_result.Text = "";
        txt_error.Text = "";
    }
    
    private void bt_urllist_Click(object sende编程客栈r, EventArgs e)
    {
        txt_url.Text = "";
    }
    

     总结

    到此这篇关于如何基于C#制作一个网址检测工具的文章就介绍到这了,更多相关C#制作网址检测工具内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号