• 3744阅读
  • 0回复

编写QT客户端访问jsp的代码 [复制链接]

上一主题 下一主题
离线goldbalance
 
只看楼主 正序阅读 楼主  发表于: 2009-11-17
//test5.h

#ifndef TEST5_H
#define TEST5_H

#include <QFile>
#include <QHttp>

class QUrl;

class HttpCon : public QObject
{
Q_OBJECT

public:
HttpCon(QObject *parent = 0);
void outPut();
int mHttpReqId;

private slots:
void soltrequestFinished(int i, bool ff);

private:
QHttp* http;
QFile f;
};
#endif // TEST5_H


//test5.cpp

#include <QtNetwork>
#include <iostream>
#include <QUrl>
#include "test5.h"
#include <QDateTime>
#include <QByteArray>
#include <QTextStream>
#include <QRegExp>

HttpCon::HttpCon(QObject *parent) : QObject(parent) {

http = new QHttp(this);
connect(http, SIGNAL( requestFinished (int, bool )), this, SLOT(soltrequestFinished(int, bool )));
}
void HttpCon::outPut()
{
QString data("selection=composer&composer="+QUrl::toPercentEncoding("Lee Actor"));

qDebug() << "Post Data: " << data << "\n";
http->setHost("127.0.0.1",8080);

QHttpRequestHeader header("POST", "/webtest/test2.jsp") ;
header.setValue("Host", "127.0.0.1") ;
header.setContentType("application/x-www-form-urlencoded");

mHttpReqId = http->request(header, data.toUtf8()) ;

}
void HttpCon::soltrequestFinished(int i, bool ff)
{
if (i != mHttpReqId) return;

qDebug()<<"soltrequestFinished"<<i<<ff;
qDebug()<<"http->bytesAvailable()"<<http->bytesAvailable();
qDebug()<<http->readAll();

}



//main.cpp

#include <QtCore>
#include <iostream>
#include "test5.h"

int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);

HttpCon ok;
ok.outPut();
return app.exec();
}


快速回复
限100 字节
 
上一个 下一个