Java 使用用户名/密码连接到远程服务器以下载文件
我需要连接到需要用户名/密码的远程服务器,并需要下载视频和其他pdf文档。java中最好的方法是什么。一个小的代码样本将是非常可观的。我尝试了以下内容,如果这段代码看起来像是新手,请提前接受我的道歉,因为我刚刚开始使用Java,并从像您这样的大师那里学习了最佳实践:)。问题是如何进行身份验证,如何向服务器提供用户名/密码Java 使用用户名/密码连接到远程服务器以下载文件,java,passwords,connection,Java,Passwords,Connection,我需要连接到需要用户名/密码的远程服务器,并需要下载视频和其他pdf文档。java中最好的方法是什么。一个小的代码样本将是非常可观的。我尝试了以下内容,如果这段代码看起来像是新手,请提前接受我的道歉,因为我刚刚开始使用Java,并从像您这样的大师那里学习了最佳实践:)。问题是如何进行身份验证,如何向服务器提供用户名/密码 import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
public class Downloader {
URL url;
public Downloader(){
try {
url = new URL("https://d396qusza40orc.cloudfront.net/algs4partI/slides%2F13StacksAndQueues.pdf");
try {
URLConnection con = url.openConnection();
con.connect();
InputStream inStream = url.openStream();
FileOutputStream outStream = new FileOutputStream("data.dat");
int bytesRead;
byte[] buffer = new byte[100000];
while((bytesRead = inStream.read(buffer)) > 0){
outStream.write(buffer, 0 , bytesRead);
buffer = new byte[100000];
}
outStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args){
Downloader d = new Downloader();
}
}
您应该能够提供用户名/密码作为URL的一部分: 例如 这确实假设站点正在使用标准HTTP身份验证
如果正在进行某种自定义身份验证,则您可能需要提供包含身份验证信息的每个生成的cookie,或者在尝试下载文件之前,可能需要执行单独的登录请求。这一切都取决于远程服务器的设置 你的问题是什么?你已经写了代码。这有什么问题吗?就我个人而言,我不太喜欢在构造函数中做太多的逻辑。如何进行身份验证,如何向服务器提供用户名/密码?嗨,克里斯,你能举个例子吗。一个小小的代码片段就好了。请输入用户名(abc@gmail.com). 我试过了,但没能让它工作。@singlepoint什么代码?如果是HTTP身份验证,只需将用户名/密码添加到代码中的URL,如我的示例所示。
https://username:password@example.com/secure/myfile.pdf