здравствуйте,
помогите решить вроде бы простую задачу: я хочу послать запрос - получить ответ, и ответ этот послать на другой скрипт для обработки - сново получить ответ
просто послать запрос и получить ответ получилось:
C++ (Qt)
http = new QHttp(this);
connect(ui->getit,SIGNAL(clicked()),this,SLOT(sendrequest()));
connect(http, SIGNAL(done(bool)), this, SLOT(done()));
void smnd::sendrequest(){
QString url = QString("/script_one.php?text=something");
QHttpRequestHeader header = QHttpRequestHeader("POST", url, 1, 1);
header.setValue("Host", "site.ru");
header.setValue("User-Agent", "Mozilla/5.0");
header.setValue("Accept-Encoding", "deflate");
header.setContentLength(8);
header.setValue("Connection", "Close");
http->setHost("site.ru");
http->request(header);
}
void smnd::done(){
QString text = text.fromUtf8( http->readAll() );
ui->showText->setText(text);
}
но вот как послать послученный text на другой скрипт и получить ответ?
пробую сделать два QHttp и отловить каждый сигнал done():
C++ (Qt)
http=new QHttp(this);
anotherhttp=new QHttp(this);
connect(ui->getit,SIGNAL(clicked()),this,SLOT(sendrequest()));
connect(http, SIGNAL(done(bool)), this, SLOT(done()));
connect(anotherhttp, SIGNAL(done(bool)), this, SLOT(another_done()));
void smnd::sendrequest(){
// tot je kod
}
void smnd::done(){
QString text = text.fromUtf8( http->readAll() );
QString url = QString("/script_two.php?text=" + text);
QHttpRequestHeader xheader = QHttpRequestHeader("POST", url, 1, 1);
xheader.setValue("Host", "site.ru");
xheader.setValue("User-Agent", "Mozilla/5.0");
xheader.setValue("Accept-Encoding", "deflate");
xheader.setContentLength(text.length());
xheader.setValue("Connection", "Close");
anotherhttp->setHost("site.ru");
anotherhttp->request(xheader);
}
void smnd::another_done(){
QString xtext = xtext.fromUtf8( anotherhttp->readAll() );
ui->showText->setText(xtext);
}
обрабатывая два запроса ошибка -
Bad Request
Request header field is missing ':' separator.
либо вообще ничего нету=(
как полученный ответ послать на другой скрипт? и получить так же ответ..
может я не правильно делаю? help me out please