1

I am using the Rebex FTP c# library and am attempting to download a single file from a public FTP site. Every other file on this FTP site is able to be downloaded, except for one specific file.

Whenever I try to download the file, I get a 550 Access Denied error.

From Fiddler:

HTTP/1.1 504 HTTP-FTP Gateway failed

Content-Length: 606

Fiddler was unable to act as a HTTP-to-FTP gateway for this
response. 

550 Permission denied.

I have switched to using System.Net.FtpWebRequest in an attempt to get more information on the error (I know it is not recommended for actual use. I still get the same 550 access denied error on this one specific file. This error is returned consistently any time we try to download the file, not just a once or twice error.

I also get a 550 access denied error when accessing the public site through Windows Explorer, IE, and Chrome.

I have contacted the administrator of the FTP site, and they have claimed there is nothing wrong with their system and that my IP has not been blocked.

We access the system anonymously, as it is a public FTP site. When we access the file from outside my company's network IP (e.g. from a home computer) the file is available for download.

Sometimes when I reboot the server that is running the application that downloads from the FTP site I can download the file in question, but other times a reboot of the server does not fix the problem. I can also run the application on a server that it outside our main network and the file is available for download. It seems that our IP is blocked just for this specific file.

I am looking for leads at this point. The FTP administrators are saying that this is something on our end, but every other file is available for download. Regardless of the time of day, the file in question returns a 550 access denied error, meaning that we're not getting unlucky and trying to download the file while the site has it locked for update.

Edit:
File URL: ftp://pubftp.spp.org/operational_data/ACE/ACE.csv

Edit2: The server has been rebooted and the file is downloading successfully as of now. Here is a log file from a successful download using Rebex.Net:

2019-08-20 08:23:29.143 Opening log file.
2019-08-20 08:23:29.688 INFO Ftp(1) Info: Connecting to pubftp.spp.org:21 using Ftp 3.0.4086.0.
2019-08-20 08:23:29.689 INFO Ftp(1) Info: Using proxy none.
2019-08-20 08:23:29.884 DEBUG Ftp(1) Info: Connection succeeded.
2019-08-20 08:23:29.939 INFO Ftp(1) Response: 220-This system is restricted solely to <clip>...
2019-08-20 08:23:29.939 INFO Ftp(1) Response: 220-
2019-08-20 08:23:29.939 INFO Ftp(1) Response: 220 Use anonymous as user and email address as password.
2019-08-20 08:23:30.682 INFO Ftp(1) Command: USER anonymous
2019-08-20 08:23:30.733 INFO Ftp(1) Response: 331 Password required for anonymous.
2019-08-20 08:23:30.734 INFO Ftp(1) Command: PASS ************
2019-08-20 08:23:30.787 INFO Ftp(1) Response: 230 Login OK. Proceed.
2019-08-20 08:23:30.788 INFO Ftp(1) Command: FEAT
2019-08-20 08:23:30.838 INFO Ftp(1) Response: 211-Features supported:
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  COMB target;source_list
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  REST STREAM
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  SIZE
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  MDTM
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  MFMT
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  XCRC filename;start;end
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  SSCN
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  MLST Size*;Modify*;Create;Type*;Unique;Perm*;Lang;Media-Type;CharSet;
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  MODE Z 
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  XNOP 
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  UTF8
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  UTF-8
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  LANG EN*
2019-08-20 08:23:30.838 INFO Ftp(1) Response:  CLNT
2019-08-20 08:23:30.838 INFO Ftp(1) Response: 211 END
2019-08-20 08:23:30.841 INFO Ftp(1) Command: SYST
2019-08-20 08:23:30.892 INFO Ftp(1) Response: 215 UNIX Type: L8
2019-08-20 08:23:30.892 INFO Ftp(1) Command: OPTS UTF8 ON
2019-08-20 08:23:30.942 INFO Ftp(1) Response: 200 Entering UTF-8 mode.
2019-08-20 08:23:31.658 DEBUG Ftp(1) Info: Starting data transfer.
2019-08-20 08:23:31.658 INFO Ftp(1) Command: TYPE I
2019-08-20 08:23:31.707 INFO Ftp(1) Response: 200 Type set to I.
2019-08-20 08:23:31.709 INFO Ftp(1) Command: PASV
2019-08-20 08:23:31.761 INFO Ftp(1) Response: 227 Entering Passive Mode (198,22,157,51,217,109)
2019-08-20 08:23:31.768 DEBUG Ftp(1) Info: Establishing data connection to 198.22.157.51:55661.
2019-08-20 08:23:31.821 INFO Ftp(1) Command: RETR /operational_data/ACE/ACE.csv
2019-08-20 08:23:31.880 INFO Ftp(1) Response: 150 Opening BINARY mode data connection for /operational_data/ACE/ACE.csv.
2019-08-20 08:23:32.015 DEBUG Ftp(1) Info: Data transfer ended. 3528 bytes transferred.
2019-08-20 08:23:32.017 DEBUG Ftp(1) Info: Closing downloading data connection.
2019-08-20 08:23:32.018 DEBUG Ftp(1) Info: Waiting for data transfer ending message.
2019-08-20 08:23:32.018 INFO Ftp(1) Response: 226 Transfer complete. 3528 bytes transferred. 3528 bps.
2019-08-20 08:23:32.018 DEBUG Ftp(1) Info: Data transfer ended.
2019-08-20 08:23:32.018 DEBUG Ftp(1) Info: Transfer ended successfully.
2019-08-20 08:23:32.018 DEBUG Ftp(1) Info: Data connection closed.
  • Can you tell us what that specific file is? FTP url? – NineBerry Aug 19 at 13:57
  • From your description it seems that there is some firewall or antivirus software on the server you are running the application on or in your company networks that intercepts the traffic possibly because it finds the name of the file suspicious. (Maybe this is the onle *.exe that you try to download?) – NineBerry Aug 19 at 13:58
  • It's not an .exe file. It's a text file. If my local server is intercepting and flagging the traffic, why would I be getting a 550 error from the remote server? I'll examine our firewall and see if it's set to catch anything. – TychoBrahe Aug 19 at 14:04
  • Can you verify that you've got the filename/location correct? 550 can indicate file/folder not found. Can also be file permissions, but if they've checked the permissions may it's not that. (did they check permissions?) – Smock Aug 19 at 14:11
  • There is firewall software that can intercept connections and then return an error message in the protocol that is used. – NineBerry Aug 19 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.