C#.NET
public void Open()
{
string server = "ftp.example.jp";
string userid = "userid";
string pass = "pass";
TKFP.Net.IFtpLogon logon = new TKFP.Net.BasicFtpLogon(userid, pass);
TKFP.Net.FtpClient ftp = new TKFP.Net.FtpClient(logon, server, 21);
ftp.AuthenticationProtocol = TKFP.Net.AuthenticationProtocols.Explicit_TLS ;
ftp.CertificateValidation += new TKFP.Net.CertificateValidationHandler(ftp_CertificateValidation);
if (ftp.Connect())
{
System.Windows.Forms.MessageBox.Show("接続成功");
System.Console.WriteLine(ftp.SystemName);
}
else
{
System.Windows.Forms.MessageBox.Show("接続失敗");
}
ftp.Close();
}
private void ftp_CertificateValidation(object sender, TKFP.Net.CertificateValidationArgs e)
{
e.Cancel = false;
}
VB.NET
Public Sub Open()
Dim server As String = "ftp.example.jp"
Dim userid As String = "userid"
Dim pass As String = "pass"
Dim logon As New TKFP.Net.BasicFtpLogon(userid, pass)
Dim ftp As New TKFP.Net.FtpClient(logon, server, 21)
ftp.AuthenticationProtocol = TKFP.Net.AuthenticationProtocols.Explicit_TLS
AddHandler ftp.CertificateValidation, AddressOf ftp_CertificateValidation
If ftp.Connect() Then
System.Windows.Forms.MessageBox.Show("接続成功")
System.Console.WriteLine(ftp.SystemName)
Else
System.Windows.Forms.MessageBox.Show("接続失敗")
End If
ftp.Close()
End Sub
Private Sub ftp_CertificateValidation(ByVal sender As Object, ByVal e As TKFP.Net.CertificateValidationArgs)
e.Cancel = False
End Sub
VB.NETのコードはC#.NETを元に「
C#.NET to VB.NET Translator」によって作成したものです
TKFP.DLLで暗号化通信を利用るために必要なことは、FTPサーバーがFTP over SSL/TLSに対応していることと、 TKFP.NetFtpClientクラスで接続を行う前に、AuthenticationProtocolプロパティに使用する暗号化の方法を指定するだけです。
ただし、FTPサーバーのSSL証明書によっては、独自の検証コードを追加する必要があります。次のサンプルでは、証明書の内容に関わらず全て受け入れています。 また、ルーターなどでグローバルアドレスとローカルアドレスを越える接続をする場合はデータコネクションのモードによっては接続できなくなることがあります。 詳しくは、「FTPサーバーへ接続出来る理由、出来ない理由」を参照してください。