by Waitman Gobble
1. What is curlyq?
curlyq is an open source Desktop application similar to "Postman". It was developed using Qt and libcurl. It was designed to work on systems where "Postman" is not available, such FreeBSD and musl libc Linux systems. curlyq uses libcurl.
2. Getting curlyq.
3. Building curlyq.
Set up your system for Qt development. You will use 'qmake' to build the software. You will also need the libcurl development package. (With openssl, to connect via SSL).
Building is straight-forward.
# qmake # make
sudo apt install qtchooser sudo apt-get install qt5-default sudo apt install libcurl4-openssl-dev
If you are building on MS Windows, you need to download the Qt development package from qt.io. You will also need to download the libcurl binaries (or build yourself) for MingW64. https://curl.se/windows/
Put the libcurl files in the Qt directory and edit the curlyq.pro file so it can find the liibcurl library. You don't need "INCLUDEPATH" just "LIBS".
LIBS += -LC:/Qt/5.15.0/mingw81_64/lib/ -lcurl
Copy "curl" directory from libcurl includes to C:\Qt\5.15.0\mingw81_64\include, copy libs contents to C:\Qt\5.15.0\mingw81_64\lib, copy bin contents to C:\Qt\5.15.0\mingw81_64\bin
Please note that on Windows libcurl we need to specify the CA file, or disable ssl cert verification (NOT RECOMMENDED).
4. Binary packages.
# sha256sum curlyq-setup.exe afebdd79c39078062adf682e75a3108af2a9f7d7141b1d9fba1bdf2c4b155d97 curlyq-setup.exe
If you do not have MS Visual C++ files already installed on your machine you will receive an error about a missing file when you start the program. You can download it from this website, or directly from Microsoft.
# sha256sum vcredist_x64.exe cc7ec044218c72a9a15fca2363baed8fc51095ee3b2a7593476771f9eba3d223 vcredist_x64.exe
You want the file vcredist_x64.exe
Please note that on Windows libcurl we need to specify the CA file, or disable ssl cert verification (NOT RECOMMENDED). A CA File can be found in the installation directory. OR you can download a current CA file from the cURL site. http://curl.haxx.se/ca/cacert.pem (Note, you can also extract this file from your browser, look for instructions online)
5. Operating curlyq
From the "File" top menu, the following submenu options are available:
Exit: Exit the program
Save Settings: Saves the current item's settings. If there is no current item, this option has no effect.
Clear Settings: Removes all settings. Note that there may be remaining data in the config file, which is located at the following path:
If you want to totally remove all data, you may safely delete that file. You may change the location by editing the c++ files before building the software.
The left pane displays the list of URLs. When you choose a URL in the left pane, the corresponding settings and most recent output and log will load.
These parameters are used for POST and GET methods. In a GET method the parameters are encoded and added to the URL as the query string, but ONLY if there is no ? in the URL field. If there is a ? character in the URL text field when performing the GET method, then the parameters are ignored. In a POST operation the parameters are included regardless of the query string presence in the URL field.
There is a hard limit of 50 parameters.
You can modify and add headers sent with the HTTP request. Note: see the "JSON content" option on the Options Tab, which will override content-type and accept headers specified on the Headers tab.
There is a hard limit of 20 headers.
Show Progress Checkbox:
This option will show cURL progress.
This option reports the status of cURL operations.
Capture cURL log Checkbox:
This option captures the cURL output and displays in the bottom log pane. The other way to see the log is to start curlyq from the command line and watch stdout.
JSON Content Checkbox:
This option sets the Accept and Content-Type headers to "application/json". The JSON string you want to send to the server is entered on the Body tab.
HTTP Version Combo:
You can choose from HTTP 1.0, HTTP 1.1, HTTP 2.0 or HTTP 3.0. If the server does not support the selected version it will either return an error or no data.
IP Protocol Combo:
You can choose Auto, IPv4 or IPv6. Your computer and network must be configured for the specified protocol.
SSL Version Combo:
You can choose the desired SSL version for SSL connections. NOTE: The openssl client library installed on your computer must also support the selected SSL version. SSLv2 and SSLv3 are deprecated and probably not supported on your computer, and should not be available on your server.
SSL CA File:
You can enter the path to desired CA CERT File. If this field is blank, it will use the system default. On MS Windows you may need to specify a current CA file. An up--to-date file may be found on the cURL web site at the following URL:
SSL Verify OFF:
Check this box to disable SSL verfication (NOT RECOMMENDED).
Provide your authentication information here. The password is encrypted using blowfish algorithm, before it is stored in the configuration file. (Change the encryption key before compiling the software).
Save Settings Button:
Use this button to save settings without processing, ie "GO" button
Here you can enter the raw data, for example a JSON string. If there is data in the Body field then the parameters will not be sent with a POST request.
You can browse and enter a file path. The file is sent with POST and PUT method operations. It will automatically use "Expect" as negotiated with the server. (Depends on HTTP version used).
The folowing HTTP Methods are implemented.
The following HTTP Methods are sent to the server, if selected, however they are not yet specifically implemented on the client.
This displays the Response Code returned by the server, and the Response Length. If cURL encounters an error, the response code is set to "ERR" and the returned body contains the cURL error message (NOT from the server). An example would be an address which does not resolve.
Headers returned by the server will be shown here.
The response from the server will be shown here. It's a plane text field, ie no HTML or JSON rendering.
cURL process log will appear here if the option is set.