dotnetC#获取本机外网IP地址
2021/6/28 17:22:15
本文主要是介绍dotnetC#获取本机外网IP地址,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
title | author | date | CreateTime | categories |
---|---|---|---|---|
dotnet C# 获取本机外网 IP 地址 | lindexi | 2019-11-17 16:38:10 +0800 | 2019-11-17 16:37:39 +0800 | dotnet C# |
本文通过 SOHU 提供的服务获取本机的外网 IP 地址
如果有自己的服务器,可以通过自己的服务器使用 asp dotnet core 服务器获取客户 IP 地址 方法,将获取的 IP 地址返回给用户
如果没有搭建服务器,可以使用 SOHU 的方法
访问 http://pv.sohu.com/cityjson 可以返回当前设备的外网 IP 地址
所以使用下面代码可以获取
var httpClient = new HttpClient(); var str = await httpClient.GetStringAsync("http://pv.sohu.com/cityjson");
但是 SOHU 返回的使用 GBK 编码,可以通过 dotnet core 使用 GBK 编码 的方法,安装 System.Text.Encoding.CodePages 库 然后注册
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); var httpClient = new HttpClient(); var str = await httpClient.GetStringAsync("http://pv.sohu.com/cityjson"); Console.WriteLine(str); // var returnCitySN = {"cip": "183.63.127.82", "cid": "440100", "cname": "广东省广州市"};
此时返回的字符串不是只有 IP 需要读取字符串
var regex = new Regex(@"(\d+\.\d+\.\d+\.\d+)"); var match = regex.Match(str); if (match.Success) { var ip = match.Groups[0].Value; Console.WriteLine(ip); }
这样就可以拿到本机的外网 IP 地址
本文所有代码放在 github 欢迎小伙伴访问
这篇关于dotnetC#获取本机外网IP地址的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID
- 2024-01-23用CI/CD工具Vela部署Elasticsearch + C# 如何使用
- 2024-01-23.NET开源的简单、快速、强大的前后端分离后台权限管理系统