From 10:00 CET Friday 22nd November we will adjust how the server works to deal with some recently reported problems. Therefore there may be a load problem, if you experience more problems than usual trying to access the forum then please PM AndyS or any of the moderators so they can inform me.


Qt webserver with POST support



  • Hi,
    Currently I am implementing a webserver using the QTcpServer class. The basic feature is working pretty well but now I have to support the management of POST requests. For now, I am able to read the header of the client request, but I can't have access to the variables attached to it. Is there any way to implement this feature using Qt?

    I really appreciate any hint. Thanks!



  • Hi,

    HTTP doesn't define the format of Request body; here you can see an example (after the headers there'a a blank line and after the body).

    This means that, after the header, you'll find a blank line and the body; the format of the body depends on your interface (the most common formats for body are Text, XML and JSON)

    NOTE: if you're writing the server, you have to define the format of the body

    UPDATE: here you'll find more information



  • Thank you so much for your answer. Very handy resources! :D



  • You're welcome,

    Happy coding



  • @xtingray

    I have written a more powerful framework than doing everything from scratch with QTcpServer, might check it out here:

    https://github.com/cybercatalyst/qtwebserver

    And here are examples how to easily use it in your project:

    https://github.com/cybercatalyst/qtwebserver-examples

    Not only does it handle all kind of methods, but also decodes form data and support https out of the box. I wrote it originally to suit my needs, but it has evolved since, so I have have cleaned up the code and generalized it for others to be used.



  • Damn it! I was looking for something like this and just found it when I already implemented what I need. Will be your class QtWebServer a future native component of Qt?

    Anyway, nice to see this kind of resources for future developments. Great contribution, congratulations! :)



  • @xtingray
    I think that currently it's not close to being ready for integration into the official framework, but it is optionally being distributed through qt-pods (a standardized package system for smaller, inofficial Qt extensions). See here for more info:

    https://github.com/qt-pods/qt-pods

    The aim of qt-pods (inspired by cocoapods from MacOS) is to have foreign code included in your project with a single click through standardized means. It's in early stage though.



  • I had no idea about the qt-pods. Thank you for the handy information. It's incredible how I am learning things every time I check this forum XD


Log in to reply