ともさんのHP >プロブラミング >自作JavaLibrary >お名前.comでFTP接続ができなくなった時の対策
お名前.comでFTP接続ができなくなった時の対策
お名前ドットコムでサーバーを借りています
このホームページもそのサーバーの上に保存してあります。
自分のパソコンで原稿を書いたらサーバーにアップロードするのですが、
一般的なFTPプログラムを使わずに自分で作ったプログラムを用いてアップロードしていました。
今年の春頃、突然アップロードができなくなってしまいました。
FFFTPなどのFTPアプリでは今まで通り普通にアップロードできるので、自分のパソコンの設定が変わってしまったのかな?あるいはルーターが原因かななどその辺りを確認してみたのですが一向に原因が分かりません。
秋になってやっと原因が判明して再びアップロードできるようになったのでこの辺の経緯を書いておこうと思います。
苦労したのは原因がたくさん考えられるためで、
レンタルサーバーの設定が変わった
パソコンの設定を変えてしまった
ルーターの設定を変えてしまった
プログラム言語のアップロードで何か変わってしまった
など色々ありそうでした。
一番あり得るのはレンタルサーバーの設定の変更だと思い、問い合わせてみたのですが、ごく一般的な返信しかもらえませんでした。
パソコンの設定が変わったかどうかは、予備パソコンを使って同じプログラムは走らせることで確認しました。
そもそも他のアプリではアップロードできるので、ルーターやPCの設定が変わったとは考えにくいです
プログラム言語はJavaを使っているのですが、使えなくなった時期にバージョンアップはしていないのでこれも考えにくいです
結局のところレンタルサーバーの設定が変わってしまったのが原因のようでした
FTP接続で色々試したけどダメだったので、FTP接続からftps接続に変更したら、今まで通り普通にアップロードできるようになりました。
レンタルサーバーからの返信では、自作のソフトは使わずに市販のソフトを使ってねという内容だったので、不親切ではやっぱり不親切かなと思います。
せっかくなのでアップロードの試験用のコードを上げておきます。
package x_test.test;
import java.io.*;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.commons.net.ftp.FTPSClient;
public class Ftp {
FTPSClient ftp = null ;
InputStream din = null;
BufferedReader in = null;
static public void main(String av[]) {
String s = null;
try {
Ftp ftp = new Ftp();
ftp.openFtp("サーバー名.jp" , "アカウント名" , "パスワード" );
ftp.put( "D:test.jpg" , "/totomo.net/test.jpg" );
ftp.closeFtp();
}catch (Exception e) { e.printStackTrace(); System.out.println("err");}
}
public void put(String cfile , String sfile)throws Exception
{
FileInputStream istream = new FileInputStream(cfile);
ftp.storeFile(sfile, istream);
istream.close();
}
private void get() throws Exception{
// ファイル受信
FileOutputStream os = new FileOutputStream("d:/aaa.htm");// クライアント側
ftp.retrieveFile("/totomo.net/index.html", os);// サーバー側
os.close();
System.out.println("FTP GET COMPLETED");
}
public void openFtp( String sever , String name ,String pass)throws Exception{
System.out.println("openFtp()");
try {
ftp = new FTPSClient();
ftp.setDefaultTimeout(60000);//60秒でタイムアウト
ftp.connect( sever );
if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
System.out.println("connection failed");
System.exit(1); // 異常終了
}
if( ftp.login( name , pass ) ==false ) {
System.out.println("logon failed");
System.exit(1); // 異常終了
}
//ftp.pasv();
ftp.enterLocalPassiveMode();
if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
System.out.println("pasv() failed");
System.exit(1); // 異常終了
}
ftp.setFileType(FTP.BINARY_FILE_TYPE);
System.out.println(ftp.getReplyString());
} catch (Exception e) { e.printStackTrace(); System.out.println("ログイン失敗");throw e;}
}/*end Ftp*/
public void closeFtp()throws Exception{
try {
if (ftp.isConnected()) ftp.disconnect();
} catch (Exception e) { e.printStackTrace(); System.out.println("ログアウト失敗");throw e;}
}
}
最終更新日: 2021-10-05 05:58:48
ともさんのHP >プロブラミング >自作JavaLibrary >お名前.comでFTP接続ができなくなった時の対策
ツイート