2012-09-13 70 views
0

目前我正在试图通过FTP代理登录到FTP服务器导航到一个子目录。使用下面的代码片段如何通过代理使用的FtpWebRequest

async { 
      let r = FtpWebRequest.Create("ftp://<ftp-proxy-address>") :?> FtpWebRequest 
      r.Method <- WebRequestMethods.Ftp.ListDirectoryDetails  
      r.Timeout <- req.Timeout.TotalMilliseconds |> int 
      r.Proxy <- null 
      r.Credentials <- NetworkCredential("[email protected]/subdirectory","password") 
      use! response = r.AsyncGetResponse() 
      use sr = new StreamReader(response.GetResponseStream(), req.Encoding) 
      let result = handler sr 
      return result 
     } 

然而,这总是登录我到用户的根目录不进我已经在用户凭据指定的子目录。有没有办法让这个工作?

注意看来,如果我不使用FTP代理,而不是指定一个HTTP代理工作。我可以看到正在发行的CWD命令和我结束了我的预期

目录

回答

0

你必须首先登录,然后更改目录。

+0

可悲的是,这不工作就没有办法发出通过的FtpWebRequest的CWD/CD命令。这是为你做透明,但似乎并没有与代理合作 –