这是我的ftp:
ftp://192.168.2.4
我想采用192.168.2.4
string ipAddress = FTPAddress.Substring(5,11)
有效
如您所见,我将长度设置为11
,但是,当我更改ftp地址时,11
无法正常工作,我需要新的ftp地址长度。你能帮忙吗
也许是reguralr表达?
有时ftp地址可能是这样的:
ftp://ip/folder
答案 0 :(得分:6)
创建一个Uri
对象。 IP地址将在Host
属性中。
Uri link = new Uri("ftp://192.168.2.4");
string IpAddress = link.Host;
Uri
课程还可以提供更多useful information。
答案 1 :(得分:5)
您可以使用URI类处理地址,然后使用主机属性读取该部分。
Uri ftpAddress = new Uri("ftp://192.168.2.4");
string ipAddress = ftpAddress.Host;
如果您需要将Hostnames转换为IPAddresses,则以下扩展类可能有所帮助(基于此Answer):
public static class UriHostResolveExtension
{
public static String ResolveHostnameToIp(this Uri uri)
{
if (uri.HostNameType == UriHostNameType.Dns)
{
IPHostEntry hostEntry = Dns.GetHostEntry(uri.Host);
if (hostEntry.AddressList.Length > 0)
return hostEntry.AddressList[0].ToString();
}
return uri.Host;
}
}
可用于以下场景:
Uri ftpAddress = new Uri("ftp://example.com/");
string ipAddress = ftpAddress.ResolveHostnameToIp();