Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt WebKit
  4. [SOLVED]QNetworkReply problem
QtWS25 Last Chance

[SOLVED]QNetworkReply problem

Scheduled Pinned Locked Moved Qt WebKit
3 Posts 1 Posters 2.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mr.FreakyJo
    wrote on last edited by
    #1

    I am sending a QNetworkRequest to a website.Here is the code :
    @QNetworkRequest request;
    request.setUrl(QUrl( "http://www.twmentor.com/?tool=attack"));
    request.setRawHeader( "User-Agent", m_userAgent.toLatin1() );
    request.setHeader( QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded" );
    QUrl params;
    params.addEncodedQueryItem( "sendTime-hour:", QUrl::toPercentEncoding("hh"));
    params.addEncodedQueryItem( "sendTime-min", QUrl::toPercentEncoding("mm" ) );
    params.addEncodedQueryItem( "sendTime-sec", QUrl::toPercentEncoding( "ss" ) );
    params.addEncodedQueryItem( "sendTime-day", QUrl::toPercentEncoding("dd"));
    params.addEncodedQueryItem( "sendTime-mon", QUrl::toPercentEncoding("mm" ) );
    params.addEncodedQueryItem( "sendTime-year", QUrl::toPercentEncoding( "yy" ) );
    params.addEncodedQueryItem( "stopTime-hour", QUrl::toPercentEncoding("hh"));
    params.addEncodedQueryItem( "stopTime-min", QUrl::toPercentEncoding("mm" ) );
    params.addEncodedQueryItem( "stopTime-sec", QUrl::toPercentEncoding("ss" ) );
    params.addEncodedQueryItem( "stopTime-day", QUrl::toPercentEncoding( "dd" ) );
    params.addEncodedQueryItem( "stopTime-mon", QUrl::toPercentEncoding("mm"));
    params.addEncodedQueryItem( "stopTime-year", QUrl::toPercentEncoding("yy" ) );
    params.addEncodedQueryItem( "landTime-hour", QUrl::toPercentEncoding( QString(this->dateTimeEditAtackLanding->time().hour()).toLatin1() ));

    params.addEncodedQueryItem( "landTime-min", QUrl::toPercentEncoding( QString(this->dateTimeEditAtackLanding->time().minute()).toLatin1() ));
    params.addEncodedQueryItem( "landTime-sec", QUrl::toPercentEncoding( QString(this->dateTimeEditAtackLanding->time().second()).toLatin1() ) );
    params.addEncodedQueryItem( "landTime-day", QUrl::toPercentEncoding( QString(this->dateTimeEditAtackLanding->date().day()).toLatin1() ) );
    params.addEncodedQueryItem( "landTime-mon", QUrl::toPercentEncoding( QString(this->dateTimeEditAtackLanding->date().month()).toLatin1() ) );
    params.addEncodedQueryItem( "landTime-year", QUrl::toPercentEncoding( QString(this->dateTimeEditAtackLanding->date().year()).toLatin1() ) );
    params.addEncodedQueryItem( "uz", QUrl::toPercentEncoding("Europe/Bucharest" ) );
    params.addEncodedQueryItem( "tz", QUrl::toPercentEncoding("Europe/Bucharest" ) );
    params.addEncodedQueryItem( "worldSpeed", QUrl::toPercentEncoding("1" ) );
    params.addEncodedQueryItem( "troopSpeed", QUrl::toPercentEncoding("1" ) );
    params.addEncodedQueryItem( "perTarget", QUrl::toPercentEncoding(this->lineEditAtackPerVillage->text().toLatin1() ) );
    params.addEncodedQueryItem( "troopPerSq", QUrl::toPercentEncoding("35" ) );
    params.addEncodedQueryItem( "sourceVills", QUrl::toPercentEncoding(this->plainTextEditYourVillages->toPlainText().toLatin1() ) );
    params.addEncodedQueryItem( "targetVills", QUrl::toPercentEncoding(this->plainTextEditEnemyVillages->toPlainText().toLatin1() ) );
    params.addEncodedQueryItem( "hiddenCheck", QUrl::toPercentEncoding("1" ) );
    params.addEncodedQueryItem( "submit", QUrl::toPercentEncoding("Plan attack" ) );
    QByteArray paramBytes = params.toString().mid( 1 ).toLatin1();
    paramBytes.replace( "/", "/" );
    QNetworkReply reply=m_nam->post(request,paramBytes);
    connect( reply, SIGNAL( finished() ),
    SLOT(replyTwMentor()));@
    But if "plainTextEditYourVillages" and "plainTextEditEnemyVillages" contains more information the html code replyed by the website contains also more html code.And when i use the following code :
    @QNetworkReply
    reply = qobject_cast<QNetworkReply*>( sender() );
    QByteArray info2 =reply->readAll();
    qDebug()<<info2;@

    info2 is empty.What is the problem?Does the reply contains too much html code or I've send to much information and it wasn't received by the website?If I put less data I get the html code in the variable info2.
    Another problem is that all calls to dateTimeEditAtackLanding->time().minute()).toLatin1() return nothing.

    1 Reply Last reply
    0
    • M Offline
      M Offline
      Mr.FreakyJo
      wrote on last edited by
      #2

      After some test i see that the html code is too long.What can I do about this?

      1 Reply Last reply
      0
      • M Offline
        M Offline
        Mr.FreakyJo
        wrote on last edited by
        #3

        To those who will have the same problem...you need to use the readyRead() signal.Thanks to peppe(mirc) for the help.

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved