Sponsored By

Sign in to follow this  
asoong1

Qt Help

Recommended Posts

I took a stab at creating a program using Qt that would use http to get data from a website and store it in a file. All parts seem to be accounted for but the returned "result.html" file is always blank. Does anybody know why? Here's my code below:

I bound it to a command that executes when a button on the GUI is pushed:

int rID = 0;

void MainWindow::buttonClickHandler2()

{

ui->CurModeOUT->setText(ui->pushButton_2->text());

QHttp http;

QIODevice*pdev = 0;

QFile file("C:\\result.html");

file.open(QIODevice::ReadWrite);

QHttpRequestHeader header ("GET", "http://finance.yahoo.com/");

header.setValue("Host", "www.yahoo.com");

http.setHost("www.yahoo.com", 80);

rID = http.get("/index.html",pdev);

//rid = http.request(header, 0, pdev);

printf("rid %d\n",rID);

QTextStream stream(&file);

pdev = stream.device();

file.flush();

file.close();

QString requestID = QString::number(rID);

ui->DimPctOUT->setText(requestID);

}

Share this post


Link to post
Share on other sites

rID = http.get("/index.html",pdev);

pdev is null here, so http returns the data via signals. You need to move

QTextStream stream(&file);
pdev = stream.device();

above the call to QHttp::get() or just pass file to get() instead.

Share this post


Link to post
Share on other sites

rID = http.get("/index.html",pdev);

pdev is null here, so http returns the data via signals. You need to move

QTextStream stream(&file);
pdev = stream.device();

above the call to QHttp::get() or just pass file to get() instead.

Hmm, I tried both solutions but the output file result.html is still blank when i open it. Is the path incorrect? Or my use of the QHttp get?

Share this post


Link to post
Share on other sites

Should I try using QUrlOperator instead? Could you show me how to do that? The API says I need to registed QHttp using qInitNetworkProtocols(). Anyideas?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this