반응형
ASP에서 서버의 IP 주소를 가져오는 중입니다.NET?
내 ASP를 호출하는 서버의 IP 주소는 어떻게 얻습니까?NET 페이지?응답 개체에 대한 내용은 본 적이 있지만 c#에서는 처음입니다.감사합니다.
작동해야 합니다.
//this gets the ip address of the server pc
public string GetIPAddress()
{
IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName()); // `Dns.Resolve()` method is deprecated.
IPAddress ipAddress = ipHostInfo.AddressList[0];
return ipAddress.ToString();
}
http://wec-library.blogspot.com/2008/03/gets-ip-address-of-server-pc-using-c.html
오어
//while this gets the ip address of the visitor making the call
HttpContext.Current.Request.UserHostAddress;
http://www.geekpedia.com/KB32_How-do-I-get-the-visitors-IP-address.html
Request.ServerVariables["LOCAL_ADDR"];
멀티홈 서버에 대한 요청이 들어온 IP를 제공합니다.
위의 내용은 DNS 호출이 필요하기 때문에 느립니다(DNS 호출이 불가능한 경우에는 당연히 작동하지 않습니다).아래 코드를 사용하여 해당 서브넷 마스크와 함께 현재 PC의 로컬 IPV4 주소 맵을 가져올 수 있습니다.
public static Dictionary<IPAddress, IPAddress> GetAllNetworkInterfaceIpv4Addresses()
{
var map = new Dictionary<IPAddress, IPAddress>();
foreach (var ni in NetworkInterface.GetAllNetworkInterfaces())
{
foreach (var uipi in ni.GetIPProperties().UnicastAddresses)
{
if (uipi.Address.AddressFamily != AddressFamily.InterNetwork) continue;
if (uipi.IPv4Mask == null) continue; //ignore 127.0.0.1
map[uipi.Address] = uipi.IPv4Mask;
}
}
return map;
}
경고: Mono에는 아직 구현되지 않았습니다.
//this gets the ip address of the server pc
public string GetIPAddress()
{
string strHostName = System.Net.Dns.GetHostName();
//IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); <-- Obsolete
IPHostEntry ipHostInfo = Dns.GetHostEntry(strHostName);
IPAddress ipAddress = ipHostInfo.AddressList[0];
return ipAddress.ToString();
}
IPv4에서 작동합니다.
public static string GetServerIP()
{
IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress address in ipHostInfo.AddressList)
{
if (address.AddressFamily == AddressFamily.InterNetwork)
return address.ToString();
}
return string.Empty;
}
아래 스냅은 개발자 콘솔 내부의 네트워크 탭을 구글 크롬으로 보여주기 위해 Mkyong에서 가져온 것입니다."Request Headers" 탭에서 아래와 같이 모든 서버 변수 목록을 볼 수 있습니다.
아래는 당신의 어플리케이션에 맞는 클라이언트의 ip 주소를 얻는 몇 줄의 코드입니다.
//gets the ipaddress of the machine hitting your production server
string ipAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (ipAddress == "" || ipAddress == null)
{
//gets the ipaddress of your local server(localhost) during development phase
ipAddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
//Output:
For production server - 122.169.106.247 (random)
For localhost - ::1
언급URL : https://stackoverflow.com/questions/646525/getting-the-ip-address-of-server-in-asp-net
반응형
'programing' 카테고리의 다른 글
Embarcadero FireDAC로 AWS RDS에서 호스팅되는 MariaDB에서 SSL을 설정하는 방법 (0) | 2023.11.04 |
---|---|
CREATE TABLE의 1064 오류...TYPE=MYISAM (0) | 2023.11.04 |
AngularJS: $scope 변수를 함수에 전달하는 시기 (0) | 2023.11.04 |
Node.js에서 새 줄에 추가하는 방법 (0) | 2023.11.04 |
두 XML 문서를 어떻게 비교하시겠습니까? (0) | 2023.11.04 |