2011-08-10 92 views
4

我有一个传入的FTP请求。我想获取传入FTP请求中提到的F​​TP服务器的IP地址。我必须根据列入白名单的FTP服务器进行验证。如何从C#中的FTP请求获取IP地址#

任何帮助将十分赞赏..

我的代码如下:

try 
{ 
    IPHostEntry host; 
    string localIP = "?"; 
    host = Dns.GetHostEntry(uri); 
    foreach (IPAddress ip in host.AddressList) 
    { 
     // we are only interested in IPV4 Addresses 
     if (ip.AddressFamily == AddressFamily.InterNetwork) 
     { 
      localIP = ip.ToString(); 
     } 
    } 

    return localIP; 
} 
catch (Exception exception) 
{ 
    throw; 
} 
+0

后一些代码。 – Coeffect

+0

以及我使用的大多数代码是从stackoverflow ..这些是我遵循的链接http://stackoverflow.com/questions/1069103/how-to-get-my-own-ip-address-in- c http://blogs.x2line.com/al/archive/2008/08/29/3544.aspx – Gagan

+0

请你澄清/编辑,所以我确切知道你需要什么? –

回答

6

确定这里是我的黑客..

private string GetFTPAddress(string uri) 
{ 
    try 
    { 
     // IPHostEntry host; 
     string localIP = null; 
     var entries = uri.Split('/'); 
     var host = Dns.GetHostAddresses(entries[2]); 
     foreach (IPAddress ip in host) 
     { 
      // we are only interested in IPV4 Addresses 
      if (ip.AddressFamily == AddressFamily.InterNetwork) 
      { 
       localIP = ip.ToString(); 
      } 
     } 

     return localIP; 
    } 
    catch (Exception exception) 
    { 
     throw; 
    } 
}