https java下载文件_Https登录并下载文件

package com.test;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.Authenticator;

import java.net.PasswordAuthentication;

import java.net.URL;

import java.security.KeyManagementException;

import java.security.NoSuchAlgorithmException;

import java.security.cert.X509Certificate;

import javax.net.ssl.HostnameVerifier;

import javax.net.ssl.HttpsURLConnection;

import javax.net.ssl.SSLContext;

import javax.net.ssl.SSLSession;

import javax.net.ssl.X509TrustManager;

/**

* 通过Https登录并下载文件。

* 1.必须是https方式连接。

* 2.解决Basic认证,即登录框的用户名密码填写操作。

*

* @author Concurrency 2012-12-19

*/

public class HttpsDownload {

public static void main(String[] args) {

// Https

new Ht

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java下载HTTPS文件可以通过使用Java的标准库和一些第三方库来实现。下面是一种常见的方法: 1. 使用Java标准库的`HttpsURLConnection`类来建立HTTPS连接并下载文件。首先,你需要创建一个URL对象,指定要下载HTTPS文件的URL地址。然后,使用`openConnection()`方法打开连接,并将其转换为`HttpsURLConnection`对象。 ```java URL url = new URL("https://example.com/file.txt"); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); ``` 2. 设置连接的一些属性,例如超时时间、请求方法等。 ```java connection.setConnectTimeout(5000); // 设置连接超时时间为5秒 connection.setRequestMethod("GET"); // 设置请求方法为GET ``` 3. 如果目标服务器使用了自签名证书或者不受信任的证书,你可能需要禁用证书验证。可以通过创建一个`TrustManager`实现类来实现这一点。 ```java TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { public void checkClientTrusted(X509Certificate[] chain, String authType) {} public void checkServerTrusted(X509Certificate[] chain, String authType) {} public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; } } }; SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, trustAllCerts, new SecureRandom()); connection.setSSLSocketFactory(sslContext.getSocketFactory()); connection.setHostnameVerifier((hostname, session) -> true); ``` 4. 发起连接并获取输入流,读取文件内容。 ```java connection.connect(); InputStream inputStream = connection.getInputStream(); // 读取文件内容并保存到本地文件 ``` 5. 关闭连接和输入流。 ```java inputStream.close(); connection.disconnect(); ``` 这是一个基本的示例,你可以根据实际需求进行修改和扩展。另外,也可以考虑使用一些第三方库,如Apache HttpClient或OkHttp来简化HTTPS文件下载的过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值