2019-11-17-dotnet-C#-获取本机外网-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 欢迎小伙伴访问
2019-11-17-dotnet-C#-获取本机外网-IP-地址的更多相关文章
- 用Linux命令行获取本机外网IP地址
引言:目前获取ip的方法中,ifconfig和ip获取函数得到的都是内网ip.有时候需要获取外网ip,目前通用的做法,是向外部服务器发送请求,解析外部服务器响应,从而得到的自己的外网ip.linux下 ...
- Linux命令行获取本机外网IP地址
问题: 服务器地址为net映射地址,本机ifconfig无法直接获取映射的公网地址. 方法: [root@TiaoBan- nidongde]# curl http://ifconfig.me 50. ...
- 【转】用Linux命令行获取本机外网IP地址
$ curl ifconfig.me $ curl icanhazip.com $ curl ident.me $ curl ipecho.net/plain $ curl whatismyip.ak ...
- 获取本机外网IP的工具类
ExternalIpAddressFetcher.java package com.tyust.common; import java.io.IOException; import java.io.I ...
- 获取本机外网ip和内网ip
获取本机外网ip //获取本机的公网IP public static string GetIP() { string tempip = ""; try { WebRequest r ...
- cURL 命令获取本机外网 IP
1.1 查询本机外网 IP # curl dhcp.cn 134.175.159.160 1.2 输出格式为 JSON # curl dhcp.cn/?json { "IP": & ...
- 查看本机外网ip地址
DOS下是无法查看外网IP的,只能获取本机内网IP地址 外网IP只能通过专门的测IP网站 http://www.ip138.com/ip2city.asp
- 获取本机外网ip
获取内网ip ifconfig eth0 | grep 'inet'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $2}' 获取公网ip ifc ...
- linux C++ 获取服务器外网IP地址(使用系统调用system)
废话不多说,直接贴代码: #include<string.h> #include<stdlib.h> #include<stdio.h> #include<s ...
- 获取本机外网IP的方式笔记
1.IP138 网址:http://www.ip138.com/: 分离出的快速查询地址:http://20140507.ip138.com/ic.asp(2014年8月9日有效) 个人经验:百度搜索 ...
随机推荐
- plsql中学习job
--1.plsql中学习job --学习job --建表 create table test_job(para_date date); commit; insert into test_job val ...
- web前端学习(三)css学习笔记部分(6)-- 选择器详解
9.选择器详解 9.1 属性选择器 CSS3 属性选择器,在 CSS3 中,追加了三个属性选择器分别为:[att*=val].[att^=val]和[att$=val],使得属性选择器有了通配符的概 ...
- Python中的进程池与线程池(包含代码)
Python中的进程池与线程池 引入进程池与线程池 使用ProcessPoolExecutor进程池,使用ThreadPoolExecutor 使用shutdown 使用submit同步调用 使用su ...
- Python学习笔记(二)使用Sublime Text编写简单的Python程序()
一.使用Sublime Text编写Python 1.点击“文件” →”新建文件“ 2.点击”文件“→”保存“,并保存为.py文件 此时已经创建好Python文件了,接下来就可以编写Python程序了 ...
- sqlserver 大数据量的insert、delete操作优化
http://blog.csdn.net/lanyuzhen/article/details/7547476 --大批量导出orders表:insert DBCC DROPCLEANBUFFERS ...
- uni-app官方教程学习手记
本人微信公众号:前端修炼之路,欢迎关注 背景介绍 大概在今年的十月份左右,我了解到Dcloud推出了uni-app.当时下载了一个Hbuilder X,下载了官方提供的hello示例教程.经过一番努力 ...
- React 按需加载 - 代码分隔
代码分隔 我们现在大多数React项目都是以Webpack 或者 Browserify等将一堆的jsx文件组织一起,并且由一个类似index.js的入口文件串联起来的单页面web页面. 例如: // ...
- 【水滴石穿】react-native-book
先推荐一个学习的地址:https://ke.qq.com/webcourse/index.html#cid=203313&term_id=100240778&taid=12778558 ...
- PLAY2.6-SCALA(十二) 表单的处理
一.表单处理流程如下 1.定义一个表单,在这里表单最多有22个字段 import play.api.data._ import play.api.data.Forms._ //要使用验证和约束 imp ...
- Ubuntu无法连接无线网
shell里输入: su ifconfig wlan0 up 不行的话 rfkill block all rfkill unblock all ifconfig wlan0 up