Seite 1 von 1

[erledigt] Anfrage an PHP Script stellen

Verfasst: 13. Januar 2011 19:49
von crossfader
Moin!

Ich bin gerade dabei eine Projektverwaltungssoftware zu schreiben, da jetzt aber keine lokalen XML/SQlite Dateien mehr ausreichen (es sollen ja schließlich mehrere Leute dieses Projekt einsehen und bearbeiten können), würd ich jetzt gerne mit einer MySQL Datenbank arbeiten.

Ich habe in einem anderen Forum schon eine Anleitung gefunden, wie man die MySQL Treiber zum laufen bekommt, habe jedoch bei 80% abgebrochen, weil es mir irgentwie zu kompliziert bzw. umstädnlich wurde.

Ich würde nun gerne als Alternative des direkten Zugriffs über eine PHP API auf meine DB zugreifen. Ich habe nun zwei Probleme:

1. Wie kann ich via POST Daten an mein Script übermitteln? Ich habe schon QNetworkAccessManager gefunden, blicke aber in der Doku nicht wirklich durch.
2. Wie kann ich bswp. Passwöter in Qt ganz einfach verschlüsseln? Bswp MD5 oder SHA1

zu 1: Ich möchte beispielsweise index.php?username=oliver&passwort=****** als POST übermittelt haben und einen String (vielleicht True oder False) in Qt zurück bekommen.

Wie kann ich das am einfachsten mit POST realisieren, von mir aus auch per GET - also einfach eine Website (string) auslesen.

Ich bedanke mich schon einmal für das Lesen und für die hoffentlich gnädigen Antworten.

Lieben Gruß,
Oliver

Verfasst: 14. Januar 2011 09:11
von pfid
Post:

Code: Alles auswählen


QNetworkAccessManager* man;

void post()
{
   QString url= "index.php";

   QNetworkRequest* r= new QNetworkRequest(QUrl(url));
   QByteArray body;

   body.append("username=oliver&passwort=******");

   QNetworkReply* reply= man->post(*r, body);

   delete r;

   // eventuell:

   connect(reply, SIGNAL(finished()), ..., ...);
}
Get:

Code: Alles auswählen


QNetworkAccessManager* man;

void get()
{
   QString url= "index.php?username=oliver&passwort=******";

   QNetworkRequest* r= new QNetworkRequest(QUrl(url));

   QNetworkReply* reply= man->get(*r);

   delete r;

   // eventuell:

   connect(reply, SIGNAL(finished()), ..., ...);
}
Zu 2):

http://doc.qt.nokia.com/4.7/qcryptograp ... .html#hash

Verfasst: 14. Januar 2011 09:20
von upsala
Schon mal Postgres probiert?

Für MD5 & Co gibts QCryptographicHash

Verfasst: 14. Januar 2011 11:07
von dazedly
Beispiel sha1

Code: Alles auswählen


const char *ptr = password.toUtf8().data();
	QCryptographicHash *hash = new QCryptographicHash(QCryptographicHash::Sha1);
	hash->addData(ptr, password.length());
	password = hash->result().toHex();
Wenn du wirklich per http auf eine php api zugreifen willst, würde ich dir sehr xmlrpc empfehlen!

Verfasst: 14. Januar 2011 15:25
von crossfader
Ihr seid die Besten!

Dann kann ich mich ja gleich mal ans Hacken der API und meiner Software machen :twisted:

Danke und ein schönes Wochenende!!

Gruß,
Olli