[erledigt] Anfrage an PHP Script stellen

Verschiedenes zu Qt
Antworten
crossfader
Beiträge: 31
Registriert: 18. September 2010 21:21
Wohnort: Lengerich
Kontaktdaten:

[erledigt] Anfrage an PHP Script stellen

Beitrag 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
Zuletzt geändert von crossfader am 29. Januar 2011 15:00, insgesamt 2-mal geändert.
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag 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
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Schon mal Postgres probiert?

Für MD5 & Co gibts QCryptographicHash
dazedly
Beiträge: 197
Registriert: 3. Oktober 2010 15:38
Kontaktdaten:

Beitrag 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!
crossfader
Beiträge: 31
Registriert: 18. September 2010 21:21
Wohnort: Lengerich
Kontaktdaten:

Beitrag 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
Antworten