Re: rudimentärer ftp-client
Zitat:
Original geschrieben von TheDodger
Ich brauch irgendwie dringend, und eigentlich schon gestern einen rudimentären FTP-Client, den ich unbedingt im Source benötige und der sowohl unter Windows, als auch unter Linux läuft ...
Super, neh?
Meine Versuche, das ganze unter QT hinzubekommen sind eher kläglich gescheitert.
@anda_skoa
QT ist dafür denkbar kontraproduktiv, glaub's mir! :)
Ich war so frei es nicht zu glauben :)
Hab mal folgendes versucht, klappt bei mir
Code:
#include <qapplication.h>
#include <qurloperator.h>
#include <qnetwork.h>
int main(int argc, char** args)
{
QApplication app(argc, args, false);
qInitNetworkProtocols(); // init FTP und HTTP UrlOperators
QUrlOperator* op = new QUrlOperator();
QObject::connect(op, SIGNAL(finished(QNetworkOperation*)),
&app, SLOT(quit()));
op->copy(QString("ftp://user:password@server/pfad/file.ext"),
QString("file:/zielpfad"));
return app.exec();
}
Ciao,
_
Re: Re: rudimentärer ftp-client
Zitat:
Original geschrieben von anda_skoa
Ich war so frei es nicht zu glauben :)
Hab mal folgendes versucht, klappt bei mir
[...]
Und was passiert, wenn du den Kram in eine extra Klasse packst? :)
Re: Re: Re: rudimentärer ftp-client
Zitat:
Original geschrieben von TheDodger
[...]
Und was passiert, wenn du den Kram in eine extra Klasse packst? :)
Bitte sehr, bitte gleich :)
Code:
#include <qapplication.h>
#include <qurloperator.h>
#include <qnetwork.h>
class MyFTP : public QObject
{
Q_OBJECT
public:
MyFTP(QObject* parent = 0, const char* name=0) : QObject(parent, name), m_op(0) {
qInitNetworkProtocols();
}
~MyFTP() {};
void download(const QString& url, const QString& to)
{
if (m_op == 0)
{
m_op = new QUrlOperator();
QObject::connect(m_op, SIGNAL(finished(QNetworkOperation*)),
this, SIGNAL(finished()));
}
m_op->copy(url, to);
}
signals:
void finished();
private:
QUrlOperator* m_op;
};
int main(int argc, char** args)
{
QApplication app(argc, args, false);
MyFTP ftp;
QObject::connect(&ftp, SIGNAL(finished()),
&app, SLOT(quit()));
ftp.download(QString("ftp://user:password@server/pfad/datei"),
QString("file:/zielpfad"));
return app.exec();
}
#include "myftp.moc.cpp"
moc File mit
#> moc -o myftp.moc.cpp myftp.cpp
generieren
Ciao,
_
Re: Re: Re: Re: rudimentärer ftp-client
Zitat:
Original geschrieben von anda_skoa
Bitte sehr, bitte gleich :)
hmmmm ...
schnell ... :)
Ich hab das ganze mal grad ausprobiert ... nach den logfiles des FTP-Servers klappt der Download ... nur die Datei taucht ned auf meiner Festplatte auf! :D
Ich schau mal, ob sich das ganze in mein Projekt integrieren kann ... da passiert schließlich noch mehr, ausser dem Download von Dateien ...
Zitat:
moc File mit
#> moc -o myftp.moc.cpp myftp.cpp
generieren
Das überlass ich generell qmake :D :D
Re: Re: Re: Re: Re: rudimentärer ftp-client
Zitat:
Original geschrieben von TheDodger
Ich hab das ganze mal grad ausprobiert ... nach den logfiles des FTP-Servers klappt der Download ... nur die Datei taucht ned auf meiner Festplatte auf! :D
Ich schau mal, ob sich das ganze in mein Projekt integrieren kann ... da passiert schließlich noch mehr, ausser dem Download von Dateien ...
Vielleicht ist der zweite String kein Verzeichnis. Ich habs mal mit einer Zieldatei probiert, da gings komischerweise nicht.
Zitat:
Das überlass ich generell qmake :D :D
Ja, ich auch :)
War mehr als Hinweis für andere, die das Posting eventuell lesen.
Ciao,
_
Re: Re: Re: Re: Re: Re: rudimentärer ftp-client
Zitat:
Original geschrieben von anda_skoa
Vielleicht ist der zweite String kein Verzeichnis. Ich habs mal mit einer Zieldatei probiert, da gings komischerweise nicht.
nein, daran lag es nicht ... jedenfalls nicht unter windows ... unter linux muß ich das gleich mal testen ...
unter win hab ich ein /tmp verzeichniss und da taucht nix auf ...
Dafür funktioniert es unter Linux ...
Ich leg mi nieda ... :(
Zitat:
Ja, ich auch :)
War mehr als Hinweis für andere, die das Posting eventuell lesen.
:)