Related Projects

restclient-cpp - C++ client for making HTTP/REST requests

  •    C++

This is a simple REST client for C++. It wraps libcurl for HTTP requests. restclient-cpp provides two ways of interacting with REST endpoints. There is a simple one, which doesn't need you to configure an object to interact with an API. However the simple way doesn't provide a lot of configuration options either. So if you need more than just a simple HTTP call, you will probably want to check out the advanced usage.

restcommander - Fast Parallel Async HTTP client as a Service to monitor and manage 10,000 web servers

  •    Java

Formerly known as REST Superman. Fire thousands of HTTP requests and aggregate responses in a couple of clicks in seconds. Please check detail instructions, screenshots, documentations, sample code, REST APIs, and demos at and its demo video. What's new? Check related work review on efficient HTTP clients and concurrency and throttling model in Akka at eBay tech blog. REST Commander is a fast parallel async HTTP/REST/SOAP client as a service to monitor and manage 10,000s of web servers. Sends requests to 1000 servers with response aggregation in 10 seconds. or 10,000 servers in 50 seconds.

elastic4s - Elasticsearch Scala Client - Non Blocking, Type Safe, HTTP, TCP

  •    Scala

Elastic4s is a concise, idiomatic, reactive, type safe Scala client for Elasticsearch. The client can be used over both HTTP and TCP by choosing either of the elastic4s-http or elastic4s-tcp submodules. The official Elasticsearch Java client can of course be used in Scala, but due to Java's syntax it is more verbose and it naturally doesn't support classes in the core Scala core library nor Scala idioms.Elastic4s's DSL allows you to construct your requests programatically, with syntactic and semantic errors manifested at compile time, and uses standard Scala futures to enable you to easily integrate into an asynchronous workflow. The aim of the DSL is that requests are written in a builder-like way, while staying broadly similar to the Java API or Rest API. Each request is an immutable object, so you can create requests and safely reuse them, or further copy them for derived requests. Because each request is strongly typed your IDE or editor can use the type information to show you what operations are available for any request type.

php-restclient - A generic REST API client for PHP

  •    PHP

headers - An associative array of HTTP headers and values to be included in every request. parameters - An associative array of URL or body parameters to be included in every request. curl_options - cURL options to apply to every request; anything defined here: These will override any automatically generated values. build_indexed_queries (bool) - http_build_query automatically adds an array index to repeated parameters which is not desirable on most systems. Use this option to enable the default behavior. Defaults to FALSE. user_agent - User agent string to use in requests. base_url - URL to use for the base of each request. format - Format string is appended to resource on request (extension), and used to determine which decoder to use on response; a request URL like "" would be expected to return well-formed JSON. format_regex - Pattern to extract format from response Content-Type header, used to determine which decoder to use on response. decoders - Associative array of format decoders. See "Direct Iteration and Response Decoding". username - Username to use for HTTP basic authentication. Requires password. password - Password to use for HTTP basic authentication. Requires username. url (string) - URL of the resource you are requesting. Will be prepended with the value of the base_url option, if it has been configured. Will be appended with the value of the format option, if it has been configured.

httpinvoke - A no-dependencies HTTP client library for browsers and Node

  •    Javascript

A no-dependencies HTTP client library for browsers and Node.js with a promise-based or Node.js-style callback-based API to progress events, text and binary file upload and download, partial response body, request and response headers, status code. Any one, two or three arguments can be skipped, except the url.

vscode-restclient - REST Client Extension for Visual Studio Code

  •    TypeScript

REST Client allows you to send HTTP request and view the response in Visual Studio Code directly. Or, you can follow the standard RFC 2616 that including request method, headers, and body.

Resgate - A Realtime API Gateway used with NATS to build REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.

  •    Go

Resgate is a Go project implementing a realtime API gateway for the RES protocol with NATS server as messaging system. It is a simple server that lets you create REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.

Guzzle - an extensible PHP HTTP client

  •    PHP

Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services. It can do both synchronous and asynchronous requests using the same interface, It supports simple interface for building query strings, POST requests, streaming large uploads, streaming large downloads, using HTTP cookies, uploading JSON data, etc, Uses PSR-7 interfaces for requests, responses, and streams.

embedio - A tiny, cross-platform, module based web server for .NET

  •    CSharp

A tiny, cross-platform, module based, MIT-licensed web server for .NET Framework and .NET Core.EmbedIO before version 1.4.0 uses Newtonsoft JSON and an internal logger subsystem based on ILog interface.

nestful - Simple Ruby HTTP/REST client with a sane API

  •    Ruby

Nestful is a simple Ruby HTTP/REST client with a sane API. Request is the base class for making HTTP requests - everthing else is just an abstraction upon it.

go-json-rest - A quick and easy way to setup a RESTful JSON API

  •    Go

Go-Json-Rest is a thin layer on top of net/http that helps building RESTful JSON APIs easily. It provides fast and scalable request routing using a Trie based implementation, helpers to deal with JSON requests and responses, and middlewares for functionalities like CORS, Auth, Gzip, Status ...The recommended way of using this library in your project is to use the "vendoring" method, where this library code is copied in your repository at a specific revision. This page is a good summary of package management in Go.

HTTPie - a CLI, cURL-like tool for humans

  •    Python

HTTPie (pronounced aitch-tee-tee-pie) is a command line HTTP client. Its goal is to make CLI interaction with web services as human-friendly as possible. It provides a simple http command that allows for sending arbitrary HTTP requests using a simple and natural syntax, and displays colorized output. HTTPie can be used for testing, debugging, and generally interacting with HTTP servers.

flashback - mock the internet

  •    Java

Flashback is designed to mock HTTP and HTTPS resources, like web services and REST APIs, for testing purposes. It records HTTP/HTTPS requests and plays back a previously recorded HTTP transaction—which we call a "scene"—so that no external connection to the internet is required in order to complete testing.Note: The flashback and flashback scene are used for testing purpose only. Each scene contains a list of Http request and response. Those http request and response might contain some sensitive data such as api key, secret, token etc. You'd better either blacklist them using customized match rule or mask them.

amygdala - RESTful HTTP client for JavaScript powered web applications

  •    Javascript

Amygdala is a RESTful HTTP library for JavaScript powered web applications. Simply configure it once with your API schema, and easily do GET, POST, PUT and DELETE requests with minimal effort and a consistent API. npm install amygdala.

vuex-rest-api - A helper utility to simplify the usage of REST APIs with Vuex.

  •    Javascript

A Helper utility to simplify the usage of REST APIs with Vuex 2. Uses the popular HTTP client axios for requests. Works with websanova/vue-auth. If you want to connect a REST API with Vuex you'll find that there are a few repetitive steps. You need to request the data from the api (with an action) and set the state (via a mutation). This utility (for the sake of brevity called Vapi in the README) helps in creating the store by setting up the state, mutations and actions with a easy to follow pattern.

ws - :cloud: Alamofire + Promises + JSON Parsing = Delightful Networking for Swift

  •    Swift

Here you are going to create a function that wraps your request. There are different ways of writing that function depending on what you want back. An empty block, the JSON, the model or the array of models. As you can notice, only by changing the return type, ws automatically knows what to do, for instance, try to parse the response into User models.


  •    Java

The move towards Single Page Apps and RESTful services open the doors to a much better way of securing web applications. Traditional web applications use browser cookies to identify a user when a request is made to the server. This approach is fundamentally flawed and causes many applications to be vulnerable to Cross-Site Request Forgery (CSRF) attacks. When used correctly, RESTful services can avoid this vulnerability altogether. Before we go into the solution, lets recap the problem. HTTP is a stateless protocol. Make a request and get a response. Make another request and get another response. There is no correlation (i.e. "state") between these requests. This poses a problem when you need to identify a user to the system because one request logs the user in and another request needs to tell the server who is making the request.

bench-rest - bench-rest - benchmark REST (HTTP/HTTPS) API's

  •    Javascript

bench-rest - benchmark REST (HTTP/HTTPS) API's. Node.js client module for easy load testing / benchmarking REST API' using a simple structure/DSL can create REST flows with setup and teardown and returns (measured) metrics.

Requests - Requests for PHP is a humble HTTP request library

  •    PHP

Requests is a HTTP library written in PHP, for human beings. It is roughly based on the API from the excellent Requests Python library. Requests is ISC Licensed (similar to the new BSD license) and has no dependencies, except for PHP 5.2+. Despite PHP's use as a language for the web, its tools for sending HTTP requests are severely lacking. cURL has an interesting API, to say the least, and you can't always rely on it being available. Sockets provide only low level access, and require you to build most of the HTTP response parsing yourself.