निम्न कोड एफ़टीपी के माध्यम से एक फ़ाइल को पुनर्प्राप्त करने के लिए है। हालांकि, मुझे इसके साथ एक त्रुटि मिल रही है।FtpWebRequest फ़ाइल डाउनलोड करें
serverPath = "ftp://x.x.x.x/tmp/myfile.txt";
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverPath);
request.KeepAlive = true;
request.UsePassive = true;
request.UseBinary = true;
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential(username, password);
// Read the file from the server & write to destination
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse()) // Error here
using (Stream responseStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(responseStream))
using (StreamWriter destination = new StreamWriter(destinationFile))
{
destination.Write(reader.ReadToEnd());
destination.Flush();
}
त्रुटि है:
The remote server returned an error: (550) File unavailable (e.g., file not found, no access)
फ़ाइल निश्चित रूप से रिमोट मशीन पर मौजूद है और मैं मैन्युअल रूप से इस एफ़टीपी प्रदर्शन करने में सक्षम हूँ (अर्थात मैं अनुमतियाँ)। क्या कोई मुझे बता सकता है कि मुझे यह त्रुटि क्यों मिल रही है?
मुझे इस तरह की चीजों के लिए वायरसहार्क उपयोगी लगता है। आप अपनी मशीन और सर्वर के बीच एफ़टीपी यातायात देखने के लिए एक फ़िल्टर सेट अप कर सकते हैं। –
यदि आप UsePassive को झूठी पर सेट करते हैं तो क्या होता है? मुझे कभी भी निष्क्रिय मोड का उपयोग कर कोई सर्वर काम नहीं मिला .. – Roy
यह आमतौर पर मेरे अनुभव में त्रुटि का कारण बनता है क्योंकि यह फ़ायरवॉल द्वारा अवरुद्ध बंदरगाह का उपयोग करने का प्रयास करता है। –