我想通過FTP代理(在我身邊)使用FTP下載文件。 這是劇本我想在C#來實現:通過FTP代理FTP
On Commandline:
ftp -i -s:get.ini CORPORATE_PROXY.com
-----------get.ini------------
[email protected]_FTP.com abc/user_name
CORPORATE_PROXY_PASSWORD
user_name_password
cd pub/linux/knoppix
get packages.txt
bye
-----------get.ini------------
abc/user_name
是誰被授予的權限,通過我公司代理我的FTP用戶名。
我想要實現在C#中,但有許多類型的代碼在互聯網上發現,我不能這樣做,以後打上面的腳本。
FtpWebRequest request = FtpWebRequest.Create(new Uri(@"ftp://" + CORPORATE_PROXY.com + @"/" + Path.GetFileName(fileToUpload))) as FtpWebRequest;
request.UseBinary = true;
request.KeepAlive = false;
request.Method = WebRequestMethods.Ftp.UploadFile;
if (!string.IsNullOrEmpty(CORPORATE_PROXY_USER) && !string.IsNullOrEmpty(CORPORATE_PROXY_PASSWORD))
request.Credentials = new NetworkCredential(CORPORATE_PROXY_USER, CORPORATE_PROXY_PASSWORD);
//Get physical file
FileInfo fi = new FileInfo(fileToUpload);
Byte[] contents = new Byte[fi.Length];
//Read file
FileStream fs = fi.OpenRead();
fs.Read(contents, 0, Convert.ToInt32(fi.Length));
fs.Close();
request.Proxy = new WebProxy("CLIENT_FTP.com");
request.Proxy.Credentials = new NetworkCredential(abc/user_name, user_name_password);
//Write file contents to FTP server
Stream rs = request.GetRequestStream();
rs.Write(contents, 0, Convert.ToInt32(fi.Length));
rs.Close();
FtpWebResponse response = request.GetResponse() as FtpWebResponse;
string statusDescription = response.StatusDescription;
response.Close();
return statusDescription;
的主要問題是,我使用WebProxy代理,而我懷疑我應該使用FTPProxy - 我無法找到anythere?任何想法,我應該去的方向,或者WebProxy是好的?
支持FTP代理的自定義FTP客戶端組件將成爲您的朋友。 – 2012-02-19 11:33:03