Log in to FTP using Windows Explorer with @ in the username

7

2

I need to set up a connection to an FTP server, but there are a couple of caveats. I CANNOT use third-party software (period). It has to be done in Windows Explorer.

The other caveat is that there is an @ symbol in both the login & the password. So I'm trying to connect, using Windows FTP to an address that looks like; user@name:pass@word@FTP.server.com

Is there anything I can do as far as escape characters go maybe? This server uses UTF-8 which has @ as %40, but I haven't been able to get that to work.

Karl Is Wright

Posted 2015-07-06T23:56:51.000

Reputation: 71

I don't know what the escape character is for the Microsoft FTP client, since I've never had to escape an "@" for it, but in for loops in Microsoft Windows batch files it is ^, so you could try that.

– moonpoint – 2015-07-07T00:17:39.187

Hi, thanks for the suggestion. I gave it a try, with user^name:pass^word@FTP.server.com but it didn't work :( – Karl Is Wright – 2015-07-07T03:50:21.670

'escape character' means use it directly before the character you need to escape [to be read as string not control] so 'user^@name' Another common escape character is \ so maybe try user@name – Tetsujin – 2015-07-07T06:37:22.397

OK, thanks for clearing that up, I'll give that a shot. – Karl Is Wright – 2015-07-07T22:43:27.020

Let us know if it works - it would make a nice canonical answer for future Googlers – Tetsujin – 2015-07-08T19:35:06.487

Thanks, I sure will keep this post updated! :)

unfortunately, the server I'm trying to connect to, also requires explicit ftp over tls.

So I'm trying to figure out how to add TLS support to Windows native FTP. – Karl Is Wright – 2015-07-08T22:02:22.927

Answers

9

I set up a TCP server using nc. By using the following URL I got the following output (I greeted and answered the client by hand). The version of Internet Explorer I used was Internet Explorer 6 from modern.ie.

ftp://user%40name:pass%40word@192.0.2.2

220 hi
USER user@name
331 ok
PASS pass@word
230 ok
opts utf8 on

It looks to me like escaping with %40 works just fine. If it doesn't work in your case, I'd check if there isn't some server problem. Ideally, try to log in with another client just to check your setup. Internet Explorer has no issue supporting percent-encoding.

jornane

Posted 2015-07-06T23:56:51.000

Reputation: 977

0

Karl, did you try in filemode?

ftp -s:filename_containing_user_credentials ftp_server_address

Input your user nm and credentials as first 2 lines of the file as below.

user@name  
p@assword  
other commands

Gautam Jose

Posted 2015-07-06T23:56:51.000

Reputation: 128

I haven't heard of that one before. Does it matter what extension the filename has? can it just be a .txt file? – Karl Is Wright – 2015-07-07T22:44:31.150

Name or extension of file may not matter. I have used with .bat files in past.

You can give all the ftp commands in the file including the host address. Also If your host implements auto login add argument -n to the command. – Gautam Jose – 2015-07-08T10:35:00.163

1OK, so as a test, I was able to use the ftp -s:filename method to connect to an ftp server. Syntax used (in cmd); ftp -s:filename.txt ftp.contoso.ca I wasn't able to put the ftp server in the file.

I have not yet tried with the @ symbol. When I do, I'll share the result. – Karl Is Wright – 2015-07-08T22:02:02.273

if you need to add server address, you need to add below command in file. open ftp.contoso.ca File is just a medium to give ftp commands you usually input in ftp console. In short ftp :s command execute a batch of ftp commands. – Gautam Jose – 2015-07-09T05:18:14.573

OK. I've got a new problem now.

When I try to logon to the ftp server, in windows explorer it just says the connection was remotely terminated before I even get a login-prompt.

When I try to connect via cmd, I get an error saying cleartext authentication isn't allowed. Can I change how Windows Explorer does authentication? – Karl Is Wright – 2015-07-10T02:16:26.837

It seems like server accepts connections over tls/ssl. You can try the below.Navigate to Control Panel\All Control Panel Items\Programs and Features and select Turn Windows features on or off.Under Internet Information Services -> FTP Server, check FTP Extensibility and click ok. You can enable/disable basic authentication in 'Control Panel\Administrative Tools\Internet Information Services (IIS) Manager' and double click FTP Authentication.

If the above doesn't work, you may need to use 3rd party clients like putty/filezilla which has a command line interface app psftp/fzsftp. – Gautam Jose – 2015-07-10T07:15:13.110

1OK, for some reason it's not letting me enable either FTP Server or Extensibility. Working on getting that up again.

When I do get to FTP Auth, what do I do in that window? Do I just enable Basic Authentication? What difference will this make, it sounds like this is only for people running their own FTP server; I'm not running an FTP server, I'm trying to connect to some else. – Karl Is Wright – 2015-07-10T20:59:18.137

Yeah the latter part was for the server admin. I thought you had access to the ftp server, you could make some tweaks. – Gautam Jose – 2015-07-11T08:00:25.410