代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
机器名和IP取得(IPV4 IPV6)
作者:
彦
/ 发布于
2016/1/11
/
1676
#region Kcy_GetClAddr ホスト名とIPアドレスを取得 /// <summary> /// ホスト名とIPアドレスを取得 /// </summary> /// <remarks> /// ホスト名とIPアドレスを取得する /// </remarks> /// <param name="pRequest">リクエストオブジェクト</param> /// <param name="sIpAddr">クライアント?IPアドレス</param> /// <param name="sPcName">クライアント?マシン名(端末ID)</param> /// <returns>処理結果(正常終了:kcy_normal、異常終了:kcy_err)</returns> public static int Kcy_GetClAddr(HttpRequest pRequest, out string sIpAddr, out string sPcName) { string sMethod; string sLog; int iRet; iRet = -1; sMethod = "Kcy_GetClAddr"; sIpAddr = ""; sPcName = ""; try { //IPv4 sIpAddr = get_IPv4(pRequest); if (sIpAddr == string.Empty) { //IPv6 sIpAddr = get_IPv6(pRequest); } sPcName = get_HostName(pRequest); iRet = 0; } catch (Exception e) { //異常情報を表示する sLog = "クライアント IPアドレス?マシン名の取得( " + sMethod; sLog += ": " + e.Message + ")"; } return iRet; } #endregion #region Kcy_GetClAddr_IPv4 ホスト名とIPアドレス(IPv4)を取得 /// <summary> /// ホスト名とIPアドレス(IPv4)を取得 /// </summary> /// <remarks> /// ホスト名とIPアドレス(IPv4)を取得する /// </remarks> /// <param name="pRequest">リクエストオブジェクト</param> /// <param name="sIpAddr">クライアント?IPアドレス(IPv4)</param> /// <param name="sPcName">クライアント?マシン名(端末ID)</param> /// <returns>処理結果(正常終了:kcy_normal、異常終了:kcy_err)</returns> public static int Kcy_GetClAddr_IPv4(HttpRequest pRequest, out string sIpAddr, out string sPcName) { string sIPv4 = string.Empty; string sMethod = "Kcy_GetClAddr_IPv4"; string sLog; int iRet = 0; sIpAddr = string.Empty; sPcName = string.Empty; try { //IPv4 sIpAddr = get_IPv4(pRequest); //HostName sPcName = get_HostName(pRequest); } catch (Exception e) { //異常情報を表示する sLog = "クライアント IPアドレス?マシン名の取得( " + sMethod; sLog += ": " + e.Message + ")"; } return iRet; } #endregion #region Kcy_GetClAddr_IPv6 ホスト名とIPアドレス(IPv6)を取得 /// <summary> /// ホスト名とIPアドレス(IPv6)を取得 /// </summary> /// <remarks> /// ホスト名とIPアドレス(IPv6)を取得する /// </remarks> /// <param name="pRequest">リクエストオブジェクト</param> /// <param name="sIpAddr">クライアント?IPアドレス(IPv6)</param> /// <param name="sPcName">クライアント?マシン名(端末ID)</param> /// <returns>処理結果(正常終了:kcy_normal、異常終了:kcy_err)</returns> public static int Kcy_GetClAddr_IPv6(HttpRequest pRequest, out string sIpAddr, out string sPcName) { string sMethod = "Kcy_GetClAddr_IPv6"; string sLog; int iRet = 0; sIpAddr = string.Empty; sPcName = string.Empty; try { //IPv6 sIpAddr = get_IPv6(pRequest); //HostName sPcName = get_HostName(pRequest); } catch (Exception e) { //異常情報を表示する sLog = "クライアント IPアドレス?マシン名の取得( " + sMethod; sLog += ": " + e.Message + ")"; } return iRet; } #endregion #region get_IPv4 IPアドレス(IPv4)を取得 /// <summary> /// IPアドレス(IPv4)を取得 /// </summary> /// <remarks> /// IPアドレス(IPv4)を取得する /// </remarks> /// <param name="pRequest">リクエストオブジェクト</param> /// <returns>クライアント?IPアドレス(IPv4)</returns> private static string get_IPv4(HttpRequest pRequest) { string sIpv4 = String.Empty; foreach (IPAddress ip in Dns.GetHostAddresses(pRequest.UserHostAddress)) { if (ip.AddressFamily.ToString() == "InterNetwork") { sIpv4 = ip.ToString(); break; } } if (sIpv4 != String.Empty) { return sIpv4; } foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName())) { if (ip.AddressFamily.ToString() == "InterNetwork") { sIpv4 = ip.ToString(); break; } } return sIpv4; } #endregion #region get_IPv6 IPアドレス(IPv6)を取得 /// <summary> /// IPアドレス(IPv6)を取得 /// </summary> /// <remarks> /// IPアドレス(IPv6)を取得する /// </remarks> /// <param name="pRequest">リクエストオブジェクト</param> /// <returns>クライアント?IPアドレス(IPv6)</returns> private static string get_IPv6(HttpRequest pRequest) { string sIpv6 = String.Empty; //ipv6取得 sIpv6 = pRequest.UserHostAddress.ToString(); //ipv4が取得された場合は空白文字にする if (System.Text.RegularExpressions.Regex.IsMatch( sIpv6, @"^\d{1,255}[.]\d{1,255}[.]\d{1,255}[.]\d{1,255}$")) { sIpv6 = String.Empty; } return sIpv6; } #endregion #region get_HostName ホスト名を取得 /// <summary> /// ホスト名を取得 /// </summary> /// <remarks> /// ホスト名を取得する /// </remarks> /// <param name="pRequest">リクエストオブジェクト</param> /// <returns>ホスト名</returns> private static string get_HostName(HttpRequest pRequest) { string sIpv4; string sComputerName = string.Empty; sIpv4 = get_IPv4(pRequest); if (sIpv4 == String.Empty) { return String.Empty; } else if (sIpv4.Equals("127.0.0.1")) { return Dns.GetHostName(); } else { //IPアドレスからホスト名を取得 sComputerName = Dns.GetHostEntry(sIpv4).HostName; int iPos = sComputerName.IndexOf("."); if (iPos != -1) { sComputerName = sComputerName.Substring(0, iPos); } return sComputerName; } } #endregion
试试其它关键字
机器名
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
彦
贡献的其它代码
(
4
)
.
用SQL语句查询出所有表的表结构(字段定义,类型,长度等
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3