Add Tweet with C++/Qt4

Qt logoThis is a code from my Twitter client for how to send a Http request from C++/Qt4 to add your status message…

It used the QNetworkAccessManager class instead of the deprecated QHttp.

#include <QtCore>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>

void main(int argc, char ** argv)
{
    QString unescaped = "<My status update!>";
    QString data = "status=" + QUrl::toPercentEncoding(unescaped.toLatin1());
    QString auth = "<Username>" + ":" + "<Password>";
    QString encryptedAuth = auth.toAscii().toBase64();
    QNetworkAccessManager* manager = new QNetworkAccessManager(this);
    QNetworkRequest request;
    QNetworkReply *reply;
    request.setUrl(QUrl("http://twitter.com/statuses/update.xml"));
    request.setRawHeader(QByteArray("Host"), "twitter.com");
    request.setRawHeader(QByteArray("Content-Type"), "application/x-www-form-urlencoded");
    request.setRawHeader(QByteArray("User-Agent"), "Mozilla");
    request.setRawHeader(QByteArray("Authorization"), "Basic " + encryptedAuth.toAscii());
    QByteArray postData(data.toLatin1(), data.length());
    reply = manager->post(request, postData);
}

Tags: , ,

Leave a Reply