EXPLORE CORE FEATURES
Store definition of request items in a project

Separate request data between project and its request items

Store project file to disk

Define global project data to use it with request items
When working with HttpMaster, you will most of the time manage project properties and properties of the request items contained inside the project. Project properties offer global options to customize HTTP requests that will be executed; changes to this properties affect all project request items. Project can be saved to disk as a file with 'hmpr' extension and is stored internally in XML format.
Define various HTTP data to customize requests

Define global HTTP headers

Create global URL data for different environments

Manage URL encoding, HTTP redirect, request encoding, timeouts, and more
Project contains a lot of options which can be used to fine-tune generated HTTP requests. These include request encoding, global URL and query string, global HTTP request headers, and couple of advanced properties like URL encoding and ability to completely disable execution data storing which can be useful if you want executions to be completed as fast as possible.
Create parameters of various types

Define multi-value parameters to simulate variations of input data

Create parameters with global values for reuse

Obtain parameter values from disk files
In project properties you can also define parameters of different data types and different generation types. Parameters enable you to include dynamic data with the request items; this can be useful to generate multiple requests based on the parameter data or to create global reusable values. All defined parameters can be used with request item properties, for example, with URL of the request item.
Validate response data

Create global project validations of various types for reuse

Combine validations in advanced logical expressions

Control execution according to the validation outcome
By default each executed request is validated with default system validation. Default system validation monitors returned HTTP status codes and determines execution result according to this status code. However, you can define custom validations in project properties and then use this project validations to define custom validation logical expression for each request item. There are different types of custom validations available; majority of them perform some validation of the response body.
Define chaining to use data from the previous request

Create global project chaining items of various types for reuse

Use chaining items in request item properties to create batches of chained requests

Obtain data from the previous request with JSONPATH, XPATH, or regular expression
Project enables you to define chaining items of different types which can then be used in request items to include some data from the previous request with the next request. You can use these project chaining items in request item properties, for example, inside request item URL. This will dynamically insert data from the previous request in places where chaining is used. In such a way, you can create a chain of requests where each request will use some data from the previous request.
Upload request data of various content types

Post HTML form, including files.

Send JSON, XML, or text data.

Upload any disk file as binary array.
HttpMaster also has a rich support for data upload available; it enables you to post text data (JSON, XML, etc.), binary data of particular file, or multipart form data which can include mix of text data items and disk files. Request body data for upload can also be automatically built from an existing HTML content obtained from some internet address (URL) or disk file.
Parse existing HTML content to create request body

Obtain HTML data from disk or URL

Build HTML form submit, JSON object, or XML document

Create project parameters for selected data elements
If you have to test particular website with various options of input data, you can build request body from an existing HTML content obtained from URL or disk file. HttpMaster will detect all HTML input elements inside FORM tags and will display them in the list where you will be able to include them in the request body. For all HTML elements with multiple options (for example, radio buttons or SELECT elements), HttpMaster will obtain all possible values from HTML content and will enable you to automatically create multi-value parameter with obtained data values.
Specify credentials or obtain authorization data

Specify credentials data for common HTTP authentication schemes

Obtain authorization data with OAuth

Utilize special global variables to use obtained authorization data during the execution
A lot of web applications require some kind of authentication from their users. HttpMaster allows you to add credentials to requests or to obtain authorization from third-party authentication provider when accessing external web applications. You can utilize support for classic OAuth workflow to obtain authorization code and access token and use them as global variables during the subsequent execution of request items.
Execute selected request items

Execute selected request items under different environments

Perform standard or plain execution according to your needs

Store complete execution data to disk
HttpMaster offers powerful execution capabilities and allows you to execute only opened request item, only selected request items, or all project request items. It is also possible to create execution groups and execute only request items that are part of the particular execution group. During the execution process you can monitor executions progress and status of each request item. HttpMaster also allows complete execution data to be saved to external file with 'hmex' extension. You can reopen this file anytime later to review execution data.
Manage execution groups and conditional execution

Create execution groups for advanced execution scenarios

Define conditional execution of request items inside the group

Execute groups inside the application or with the command line interface
Selecting the same set of request items for execution again and again can become a tedious and time-consuming tasks. If you have to execute the same request items many times, try execution groups. Execution groups are powerful feature for simplified execution of multiple request items and allow you to specify custom execution order for every request item contained in the group. Execution groups also support conditional execution of request items based on the execution result of some other request item in the same group. For example, you can specify to execute certain request item only if some other request item was successfully executed.
View and manage complete execution data

Inspect complete execution data, including headers, cookies, response body, and more

View response data with several pretty viewers

Create PDF report, export response body, or prepare JSON/XML file with execution results
Once the execution of particular request item is completed, you can open and view its execution results. Various execution data is available for review, including HTTP headers, cookies, response data, size, duration, etc. HttpMaster also features several pretty viewers for user-friendly display of response data, including XML, JSON, HTML, CSS, and more. Majority of pretty viewers support code folding for expanding/collapsing selected code sections. Response data can be further manipulated, for example, export response body to an external file, search data for particular phrase, create PDF report, and more.
Utilize additional tools

Use basic request tool for ad hoc HTTP requests

Automate project execution with command line interface

Leverage graphical wizard to quickly build CLI commands
HttpMaster also offers some additional tools, for example, ad hoc HTTP request tool. If you need to quickly execute a simple HTTP request, creating project and request item might not be the best option. In such situations, you can use this ad hoc request tool which also supports complete execution data review and management. Additionally, you can utilize command line interface to automate execution of projects. Command line execution results are stored in special files which can be opened in HttpMaster for complete execution data review.
Import and use OpenAPI data

Use OpenAPI data to create project for your REST API

Update existing project with new or changed OpenAPI operations

Customize options for creating projects from OpenAPI data
If you are working on a REST API and you have created OpenAPI (Swagger) data for it, you can import this definition and HttpMaster project with corresponding request items will be created automatically. In such a way, you don't need to create project and request items from scratch; creating new project could be a laborious task, especially if your REST API defines a lot of endpoints. Simply import your OpenAPI file and save some time.
Prepare and execute Curl commands

Create Curl commands from project request items

Copy created commands or execute them

Customize extensive set of options for creating Curl commands
If you would like to generate requests without executing them immediately, you can prepare
Curl commands from project request items and execute them with Command Prompt, PowerShell, or any other command-line tool. There are also plenty of options available to customize prepared Curl commands.