2010-12-21 7 views
5

Qt 4.6.3で動作するFTP-SSLを取得しようとしています。 OpenSSLのサポートでQtをコンパイルしました。 QtでFTPSに関する良いリソースはありますか? QFTPはSSLをサポートしていないようです。私は自分自身のFTPS実装を作成したくありません。Qt 4.6のFTPS(FTP-SSL)

//編集: 私はQNetworkAccessManager(ty @ frank)を発見しましたが、SSLに関する有用なドキュメントや例は見つかりません。それは私がしようとしているもの:

QUrl url = QUrl("ftp://localhost/filex.txt"); 
url.setUserName("root"); 
url.setPassword("root"); 
QNetworkRequest request(url); 
QSslConfiguration SslConfiguration(QSslConfiguration::defaultConfiguration()); 
request.setSslConfiguration(SslConfiguration); 
manager->get(request); 

しかし、FileZillaは私に接続させません。 FZコンソールは言う:

(000035)2010年12月21日午前17時31分46秒 - 2010年12月21日17:31(127.0.0.1)> USERルート

(000035)(ログインしていません)。 46 - (ログインしていない)(127.0.0.1)> 530 SSLは

FileZillaの構成に必要な:SSL/TLSのサポートの上に

  • FTPをTLS経由
  • 明示的なFTPを有効にプレーン暗号化されていないFTPは、ユーザ/ PWが細かいとSSLが失敗したが、私は唯一のauthenticationRequired信号を取得していますので、私は、少なくともsslErrors信号のいくつかの並べ替えを期待

のログイン根強制

  • SSLを禁止
  • を有効に。

    ありがとうございました!

  • +0

    QNetworkAccessManagerをチェックしましたか? –

    +0

    @frankご清聴ありがとうございました。更新された質問 – atamanroman

    +0

    FileZillaのSSL/TLS設定は何ですか? –

    答えて

    4

    残念ながら、QtのFTPSのためのすぐれたソリューションはありません。

    • QFtp多くのftpコマンドに を実装していますが、暗号化をサポートしていません。
    • QNetworkAccessManager 基本的なftp機能(ファイル ダウンロード/アップロード)のみをサポートし、ftpの場合は の暗号化もサポートしていません。それは の価値があります。それは、それが主に設計された プロトコルであるHTTP用の 暗号化をサポートしています。
    • QSslSocket SSLを実装していますが、FTPやHTTP

    考慮した情報の上にアイデアを取るようには 特定のプロトコルは、暗号化されたFTPを取得するためにQSslSocketQFtpを混合するために頭に浮かぶありません。問題は、QFtpクラスには、QFtpにユーザが提供するソケットを使用できるようにする方法がありません。比較によってQHttpはこのような方法を有する。int QHttp::setSocket(QTcpSocket * socket)

    ボトムライン; Thiago Macieira氏(デザイナーQNetworkAccessManager)によれば、方法はQSslSocketを使用してFTPプロトコルを実装することです。

    +0

    あなたはQT 4.8のためにこれを実装するようにthiagoに伝えてください;) – ismail

    +0

    ありがとう!あなたの答えは、私が今までに見つけたものを絶対に確認します。私はFTPを非常に再実装する考え方が嫌いですので、QFtpまたはQNetworkAccessManagerをSSL-Readyにしたり、chilkats FTP2ライブラリを購入したりします。誰かがQtのマニュアルでFTPSの問題を言及する必要があります - QNetworkAccessManagers FTPとSSLサポートはFTPSサポートを意味します。 – atamanroman

    関連する問題