首页 > 其他分享 >Winform/CSharp中实现对Http接口地址、IP地址字符串格式/合法性校验

Winform/CSharp中实现对Http接口地址、IP地址字符串格式/合法性校验

时间:2023-03-17 11:33:06浏览次数:50  
标签:Http ip IP地址 校验 FormatCheckHelper 地址 bool CSharp IsIPUrl

场景

Winform程序中,需要配置http接口地址以及mqtt协议的ip地址,需要对http接口地址以及ip地址字符串

的格式进行合法性校验。

 

 

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi

实现

1、新建校验工具类FormatCheckHelper

using System;
using System.Text.RegularExpressions;

namespace DataConvert.com.bdtd.dataconvert
{
    public class FormatCheckHelper
    {
        public static bool IsHttpUrl(string str_url)

        {
            Uri uriResult;
            bool result =
                Uri.TryCreate(str_url, UriKind.Absolute, out uriResult)
                &&
                uriResult.Scheme == Uri.UriSchemeHttp;
            return result;
        }

        public static bool IsHttpsUrl(string str_url)

        {
            Uri uriResult;
            bool result =
                Uri.TryCreate(str_url, UriKind.Absolute, out uriResult)
                &&
                uriResult.Scheme == Uri.UriSchemeHttps;
            return result;
        }

        public static bool IsIPUrl(string str_ip)

        {
            //模式字符串,正则表达式
            string patten = @"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
            //验证
            return Regex.IsMatch(str_ip, patten);
        }
    }
}

上面三个方法分别是对http地址格式校验、https地址格式校验、ip地址格式校验。

测试

            bool b = FormatCheckHelper.IsHttpUrl("12325");
            bool a = FormatCheckHelper.IsHttpUrl("http://119.156.123.158:9092");
            bool c = FormatCheckHelper.IsHttpsUrl("https://119.156.123.158:9092");
            bool d = FormatCheckHelper.IsHttpUrl("http://119.156.123.158");

            bool f = FormatCheckHelper.IsIPUrl("45454");
            bool g = FormatCheckHelper.IsIPUrl("fgghf");
            bool h = FormatCheckHelper.IsIPUrl("127.0.0.1");

            bool i = FormatCheckHelper.IsIPUrl("192.168.1.2");
            bool j = FormatCheckHelper.IsIPUrl("127.0.0");
            bool k = FormatCheckHelper.IsIPUrl("999.225.256.68");
注意对于Ip地址的校验,这里使用的正则表达式进行校验。
网上也有使用
using System.Net;
string ipStr="192.168.222.333";
IPAddress ip;
if(IPAddress.TryParse(ipStr,out ip))
{
  Console.WriterLine("合法IP");
}
else
{

  Console.WriterLine("合法IP");

}

 

该种方式进行验证合法性的,但是会在输入数字时有偏差。 

标签:Http,ip,IP地址,校验,FormatCheckHelper,地址,bool,CSharp,IsIPUrl
From: https://www.cnblogs.com/badaoliumangqizhi/p/17226072.html

相关文章

  • HTTP协议
    HTTP协议1、HTTP结构2、在WindowsServer上搭建web服务器3、分析HTTP协议流量一、HTTP协议1、概念HTTP(超文本传输协议),是用于在万维网服务器上传输超文本(HTML)到本地......
  • 如何在 Apinto 实现 HTTP 与gRPC 的协议转换 (上)
    什么是gRPC像gRPC是由google开发的一个高性能、通用的开源RPC框架,主要面向移动应用开发且基于HTTP/2协议标准而设计,同时支持大多数流行的编程语言。gRPC基于 HTTP/......
  • 爬虫 相关 requests模块介绍、requests发送get请求、requests携带参数、url编码解码、
    爬虫介绍爬虫是什么爬虫就是程序---》从互联网中,各个网站上,爬取数据[能浏览的页面才能爬],做数据清洗,入库爬虫的本质模拟方式http请求,获取数据---》入库......
  • SSL端口是什么?HTTPS的配置指南
    安全套接字层(SSL)是负责互联网连接的数据身份验证和加密的技术。它加密在两个系统之间(通常在服务器和客户端之间)之间通过互联网发送的数据,使其保持私密。随着在线隐私的重要......
  • HTTP协议和web静态服务器
    一、HTTP协议1、HTTP协议的定义网络协议网络协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则。HTTP协议HTTP协议(超文本传输协......
  • 为什么市面上大多数是共享HTTP代理池
    众所周知,独享HTTP代理池是一个人使用的HTTP代理池,共享HTTP代理池是很多人使用的HTTP代理池。很多人都想使用独享HTTP代理池,但市面上大多数是共享HTTP代理池,很少有独享HTTP......
  • 为什么说HTTP代理可以提高爬虫工作效率
    在日常程序员的网络工作生活中,经常需要使用HTTP代理,在很多行业领域里,HTTP代理是工作中必不可少的一部分。很多人都使用过HTTP代理,它的速度比公司网络可能会慢一些,但大家......
  • 动态HTTP代理与静态相比有哪些优势
    HTTP代理可以分为动态HTTP代理和静态HTTP代理两种,市面上大多数的HTTP代理套餐都是动态HTTP代理,那么动态HTTP代理有哪些优势呢?动态HTTP代理的有效期相对于静态HTTP代......
  • Linux网络编程IP地址的字符串与网络字节序转换:inet_addr()、inet_aton()、inet_ntoa()
    Linux网络编程IP地址的字符串与网络字节序转换向sockaddr_in注入地址时,需要将ip地址的字符串形式转化为网络字节序的形式;而相反地,网络字节序也能转化回字符串形式。用到的......
  • nginx 配置 https 时找不到 pem 证书问题
    问题:在使用nginxdocker时的挂载卷为-v/root/ssl/letsencrypt/live/xxxxxxx:/etc/nginx/cert然后再nginx的default.conf中的证书位置为/etc/nginx/cert/fullchain.......