首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从FTP地址获取IP地址

问如何从FTP地址获取IP地址
EN

Stack Overflow用户
提问于 2014-12-24 10:21:43
回答 2查看 836关注 0票数 2

这是我的ftp:

代码语言:javascript
复制
ftp://192.168.2.4

我想要192.168.2.4

我试过的

代码语言:javascript
复制
string ipAddress = FTPAddress.Substring(5,11)

这是可行的

问题所在

正如您所看到的,我将长度设置为11,但是,当我更改ftp地址时,11将不能工作,我需要新的ftp地址长度。你能帮帮忙吗

可能是反流表达?

更新

有时ftp地址可能如下所示:ftp://ip/folder

EN

回答 2

Stack Overflow用户

发布于 2014-12-24 10:25:06

创建一个Uri对象。IP地址将位于Host属性中。

代码语言:javascript
复制
Uri link = new Uri("ftp://192.168.2.4");
string IpAddress = link.Host;

Uri类还可以提供更多的有用信息。

票数 6
EN

Stack Overflow用户

发布于 2014-12-24 10:25:11

您可以使用URI类来处理地址,然后使用读取其中的部分。

代码语言:javascript
复制
Uri ftpAddress = new Uri("ftp://192.168.2.4");
string ipAddress = ftpAddress.Host;

如果需要将主机名转换为IPAddresses,下面的扩展类可能会有所帮助(基于这个回答):

代码语言:javascript
复制
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;
    }
}

可以在以下场景中使用:

代码语言:javascript
复制
Uri ftpAddress = new Uri("ftp://example.com/");
string ipAddress = ftpAddress.ResolveHostnameToIp();
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27635303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档