-
大小: 9KB文件類型: .java金幣: 1下載: 0 次發布日期: 2021-06-10
- 語言: Java
- 標簽: FTPS??FTPSClient??Android??
資源簡介
FTPS是上傳方法以及下載(絕對福利帖子,經過驗證完全OK)!
代碼片段和文件信息
package?com.qwcrom.towngasprepayment.utils;
import?org.apache.commons.net.ftp.FTPClient;
import?org.apache.commons.net.ftp.FTPReply;
import?org.apache.commons.net.ftp.FTPSClient;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?java.security.KeyManagementException;
import?java.security.NoSuchAlgorithmException;
import?java.security.cert.CertificateException;
import?java.security.cert.X509Certificate;
import?javax.net.ssl.SSLContext;
import?javax.net.ssl.TrustManager;
import?javax.net.ssl.X509TrustManager;
/**
?*?FTPS上傳工具類
?*
?*?@author?J.query
?*?@date?2018/11/8
?*?@email?j-query@foxmail.com
?*/
public?class?FTPSUploadUtils?{
????private?static?FTPSClient?ftpsClient;
????/**
?????*?@param?host
?????*?@param?port
?????*?@param?userName???????用戶名
?????*?@param?password???????密碼
?????*?@param?basePath???????服務器文件根目錄
?????*?@param?localFileName??文件本地地址
?????*?@param?remoteFileName?服務器實際目錄
?????*?@return
?????*?@throws?IOException
?????*?@throws?NoSuchAlgorithmException
?????*?@throws?KeyManagementException
?????*/
????public?static?boolean?upLoadFile(String?host?int?port?String?userName?String?password?String?basePath?String?localFileName
?????????????????????????????????????String?remoteFileName)?throws?IOException?NoSuchAlgorithmException?KeyManagementException?{
????????boolean?result?=?false;
????????final?int?dataTimeout?=?10000;
????????final?int?timeout?=?100000;
????????X509TrustManager?x509m?=?new?X509TrustManager()?{
????????????@Override
????????????public?X509Certificate[]?getAcceptedIssuers()?{
????????????????return?null;
????????????}
????????????@Override
????????????public?void?checkServerTrusted(X509Certificate[]?chain
???????????????????????????????????????????String?authType)?throws?CertificateException?{
????????????}
????????????@Override
????????????public?void?checkClientTrusted(X509Certificate[]?chain
???????????????????????????????????????????String?authType)?throws?CertificateException?{
????????????}
????????};
????????SSLContext?sslcontext?=?SSLContext.getInstance(“SSL“);
????????sslcontext.init(null?new?TrustManager[]{x509m}
????????????????new?java.security.SecureRandom());
????????ftpsClient?=?new?FTPSClient(false?sslcontext);
????????try?{
????????????ftpsClient.setConnectTimeout(dataTimeout);
????????????ftpsClient.connect(host?port);
????????????ftpsClient.setSoTimeout(timeout);
????????????//?Set?protection?buffer?size
????????????int?reply?=?ftpsClient.getReplyCode();
????????????if?(FTPReply.isPositiveCompletion(reply))?{
????????????????//?Login
????????????????if?(ftpsClient.login(userName?password))?{
????????????????????//此設置關鍵之關鍵,耗費了1天時間,大坑
????????????????????ftpsClient.execPBSZ(0);
????????????????????ftpsClient.execPROT(“P“);
????????????????????ftpsClient.enterLocalPassiveMode();
????????????????????ftpsClient.setFileType(FTPClien
評論
共有 條評論