如何获取本机主机名和IP地址,请各位帮忙!

setcs_lina 2007-05-16 09:05:14
ASP.NET C#
...全文
476 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
bwguang 2007-05-16
  • 打赏
  • 举报
回复
ls 正解。
nmgwolf 2007-05-16
  • 打赏
  • 举报
回复
呵呵!来晚了,接分!
jrl5365 2007-05-16
  • 打赏
  • 举报
回复
//得到用户IP
string ip = Request.ServerVariables["REMOTE_ADDR"].ToString();
if (ip == "")
{
ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
setcs_lina 2007-05-16
  • 打赏
  • 举报
回复
浏览器所在的机器
killer_liqiao 2007-05-16
  • 打赏
  • 举报
回复
楼上正解~~
xiaoqhuang 2007-05-16
  • 打赏
  • 举报
回复
using System.Net;
Dns.GetHostName() // 主机名
Dns.GetHostAddresses(Dns.GetHostName())[0].ToString() //主机第一个IP
zhangliu_521 2007-05-16
  • 打赏
  • 举报
回复
http://bbs.caoyuan.net/viewtopic.php?=&p=45125
wzd24 2007-05-16
  • 打赏
  • 举报
回复
请楼主讲述一下本机是指哪台机器,浏览器所在的机器还是服务器?
soaringbird 2007-05-16
  • 打赏
  • 举报
回复
// This program shows how to use the IPAddress class to obtain a server
// IP addressess and related information.

using System;
using System.Net;
using System.Net.Sockets;
using System.Text.RegularExpressions;

namespace Mssc.Services.ConnectionManagement
{

class TestIPAddress
{

/**
* The IPAddresses method obtains the selected server IP address information.
* It then displays the type of address family supported by the server and its
* IP address in standard and byte format.
**/
private static void IPAddresses(string server)
{
try
{
System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();

// Get server related information.
IPHostEntry heserver = Dns.Resolve(server);

// Loop on the AddressList
foreach (IPAddress curAdd in heserver.AddressList)
{


// Display the type of address family supported by the server. If the
// server is IPv6-enabled this value is: InternNetworkV6. If the server
// is also IPv4-enabled there will be an additional value of InterNetwork.
Console.WriteLine("AddressFamily: " + curAdd.AddressFamily.ToString());

// Display the ScopeId property in case of IPV6 addresses.
if(curAdd.AddressFamily.ToString() == ProtocolFamily.InterNetworkV6.ToString())
Console.WriteLine("Scope Id: " + curAdd.ScopeId.ToString());


// Display the server IP address in the standard format. In
// IPv4 the format will be dotted-quad notation, in IPv6 it will be
// in in colon-hexadecimal notation.
Console.WriteLine("Address: " + curAdd.ToString());

// Display the server IP address in byte format.
Console.Write("AddressBytes: ");



Byte[] bytes = curAdd.GetAddressBytes();
for (int i = 0; i < bytes.Length; i++)
{
Console.Write(bytes[i]);
}

Console.WriteLine("\r\n");

}

}
catch (Exception e)
{
Console.WriteLine("[DoResolve] Exception: " + e.ToString());
}
}

// This IPAddressAdditionalInfo displays additional server address information.
private static void IPAddressAdditionalInfo()
{
try
{
// Display the flags that show if the server supports IPv4 or IPv6
// address schemas.
Console.WriteLine("\r\nSupportsIPv4: " + Socket.SupportsIPv4);
Console.WriteLine("SupportsIPv6: " + Socket.SupportsIPv6);

if (Socket.SupportsIPv6)
{
// Display the server Any address. This IP address indicates that the server
// should listen for client activity on all network interfaces.
Console.WriteLine("\r\nIPv6Any: " + IPAddress.IPv6Any.ToString());

// Display the server loopback address.
Console.WriteLine("IPv6Loopback: " + IPAddress.IPv6Loopback.ToString());

// Used during autoconfiguration first phase.
Console.WriteLine("IPv6None: " + IPAddress.IPv6None.ToString());

Console.WriteLine("IsLoopback(IPv6Loopback): " + IPAddress.IsLoopback(IPAddress.IPv6Loopback));
}
Console.WriteLine("IsLoopback(Loopback): " + IPAddress.IsLoopback(IPAddress.Loopback));
}
catch (Exception e)
{
Console.WriteLine("[IPAddresses] Exception: " + e.ToString());
}
}


public static void Main(string[] args)
{
string server = null;

// Define a regular expression to parse user's input.
// This is a security check. It allows only
// alphanumeric input string between 2 to 40 character long.
Regex rex = new Regex(@"^[a-zA-Z]\w{1,39}$");

if (args.Length < 1)
{
// If no server name is passed as an argument to this program, use the current
// server name as default.
server = Dns.GetHostName();
Console.WriteLine("Using current host: " + server);
}
else
{
server = args[0];
if (!(rex.Match(server)).Success)
{
Console.WriteLine("Input string format not allowed.");
return;
}
}

// Get the list of the addresses associated with the requested server.
IPAddresses(server);

// Get additonal address information.
IPAddressAdditionalInfo();
}

}
}
cellblue 2007-05-16
  • 打赏
  • 举报
回复
可以很容易获得客户端的IP,本机不懂

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧