gpt4 book ai didi

java - 使用ftp协议(protocol)连接到密码包含 "@"符号的服务器

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:53:35 24 4
gpt4 key购买 nike

我正在尝试使用 Java 中的 FTP 协议(protocol)从服务器下载文件。通过使用以下 URL,我可以连接到服务器并下载文件。

URL url = new URL("ftp://"+user+":"+password+"@"+host+"/"+remoteFile+";type=i"); 

但是当我的密码包含“@”(例如:soft@2011)符号时,它会抛出以下异常:

  java.net.UnknownHostException: 2010@192.168.1.100 

它无法区分两个“@”符号。

如何避免这个问题?我可以使用任何转义字符来避免这个问题吗?

最佳答案

URI encoding密码(最好还有用户名)应该可以正常工作。

URL url = new URL("ftp://" + 
URLEncoder.encode(user, "UTF-8") + ":" +
URLEncoder.encode(password, "UTF-8") + "@" +
host + "/" + remoteFile + ";type=i");

关于java - 使用ftp协议(protocol)连接到密码包含 "@"符号的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8489220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com