[Interest] QNetwork classes for submitting google forms

Jason H jhihn at gmx.com
Mon Jun 14 16:36:22 CEST 2021


You might want to look at my pos on Jun 2 "Re: [Interest] QNetworkReply lambdas?"

Where I give example code on how to set up a lambda. You can ignore the synchronous parts.

> Sent: Friday, June 11, 2021 at 8:29 PM
> From: "Max Paperno" <max-l at wdg.us>
> To: interest at qt-project.org
> Subject: Re: [Interest] QNetwork classes for submitting google forms
>
> Ah yeah, it would help a lot to have a Qt event loop to actually deliver 
> the signals... silly me. Also forgot to delete the reply as per docs.
> 
> Tested, works:
> 
> ----------------
> int main(int argc, char**argv)
> {
>    QCoreApplication app(argc, argv);
>    QUrlQuery postData;
>    postData.addQueryItem("entry.2020959411", "Qt Query");
> 
>    QUrl serviceUrl("http://httpbin.org/post");
>    QNetworkRequest request(serviceUrl);
>    QNetworkAccessManager networkManager;
> 
>    QObject::connect(&networkManager, &QNetworkAccessManager::finished,
>                     [&](QNetworkReply *reply) {
>        int status = 
> reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
>        qDebug() << "Got status:" << status << "Data:" << reply->readAll();
>        //  etc....
>        reply->deleteLater();
>        app.exit();
>    });
> 
>    networkManager.post(request,
> postData.toString(QUrl::FullyEncoded).toUtf8());
> 
>    return app.exec();
> }
> ------------
> 
> 
> Please reply to the list, not to me, thanks.
> 
> HTH,
> -Max
> 
> 
> On 6/11/2021 6:53 PM, Nicholas Yue wrote:
> > ```
> > intmain()
> > {
> > QUrlQuerypostData;
> > postData.addQueryItem("emailAddress","abc.xyz at gmail.com <mailto:abc.xyz at gmail.com>");
> > postData.addQueryItem("entry.2020959411","QtQuery");
> > QUrlserviceUrl("https://docs.google.com/forms/d/152CTd4VY9pRvLfeACOf6SmmtFAp1CL750Sx72Rh6HJ8/formResponse");
> > QNetworkRequestrequest(serviceUrl);
> > QNetworkAccessManagernetworkManager;
> > boolgotResponse=false;
> > QObject::connect(&networkManager,&QNetworkAccessManager::finished,
> > [&gotResponse](QNetworkReply*reply){
> > intstatus=reply->attribute(
> > QNetworkRequest::HttpStatusCodeAttribute).toInt();
> > qDebug()<<status;
> > //etc....
> > gotResponse=true;
> > });
> > networkManager.post(request,
> > postData.toString(QUrl::FullyEncoded).toUtf8());
> > while(!gotResponse){
> > QThread::sleep(1);//orwhateversleepmethod,justwaitingforaresponse.
> > qDebug()<<"Slept1second";
> > }
> > return0;
> > }
> > ```
> > It just sits there, I get the regular print out about 'Slept 1 second', other than that, it does not seems to be working
> >
> > On Fri, 11 Jun 2021 at 14:18, Max Paperno <max-l at wdg.us 
> > <mailto:max-l at wdg.us>> wrote:
> >
> >
> >     > QObject::connect(&networkManager, &networkManager::finished, ...
> >
> >     Whoops, should really be
> >     QObject::connect(&networkManager,
> >     &QNetworkAccessManager::finished, ...
> >
> >     -Max
> >     _______________________________________________
> >     Interest mailing list
> >     Interest at qt-project.org <mailto:Interest at qt-project.org>
> >     https://lists.qt-project.org/listinfo/interest
> >
> >
> >
> > -- 
> > Nicholas Yue
> > Graphics - Arnold, Alembic, RenderMan, OpenGL, HDF5
> > Custom Dev - C++ porting, OSX, Linux, Windows
> > http://au.linkedin.com/in/nicholasyue
> > https://vimeo.com/channels/naiadtools
> 
> 
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> https://lists.qt-project.org/listinfo/interest
>


More information about the Interest mailing list