HTTP Client

New examples for mbed OS 5

This is a deprecated page for mbed OS 2. There is an updated HTTP/HTTPS library for mbed OS 5 available at sandbox/http-example.

This page explains how to do HTTP requests from your mbed. It uses the Networking stack.

Hello World!

If you haven't done it yet, try out the simple Working with the networking stack example program.

Packages

Precompiled version:

Import libraryHTTPClient_ToBeRemoved

HTTP Client library

Library

Architecture

The HTTPClient is composed of:

  • The actual client (HTTPClient)
  • Classes that act as a data repository, each of which deriving from the HTTPData class (HTTPText for short text content, HTTPFile for file I/O, HTTPMap for key/value pairs, and HTTPStream for streaming purposes)

HTTP Client Data Containers

  • HTTPText
  • HTTPMap
  • HTTPFile
  • HTTPStream

See HTTP Client Data Containers

Includes

#include "HTTPClient.h"

Reference

Import program

Public Member Functions

  HTTPClient ()
  Instantiates the HTTP client.
void  basicAuth (const char *user, const char *password)
  Provides a basic authentification feature (Base64 encoded username and password)
HTTPResult   get (const char *uri, HTTPData *pDataIn)
  Executes a GET Request (blocking)
HTTPResult   get (const char *uri, HTTPData *pDataIn, void(*pMethod)( HTTPResult ))
  Executes a GET Request (non blocking)
template<class T >
HTTPResult   get (const char *uri, HTTPData *pDataIn, T *pItem, void(T::*pMethod)( HTTPResult ))
  Executes a GET Request (non blocking)
HTTPResult   post (const char *uri, const HTTPData &dataOut, HTTPData *pDataIn)
  Executes a POST Request (blocking)
HTTPResult   post (const char *uri, const HTTPData &dataOut, HTTPData *pDataIn, void(*pMethod)( HTTPResult ))
  Executes a POST Request (non blocking)
template<class T >
HTTPResult   post (const char *uri, const HTTPData &dataOut, HTTPData *pDataIn, T *pItem, void(T::*pMethod)( HTTPResult ))
  Executes a POST Request (non blocking)
void  doGet (const char *uri, HTTPData *pDataIn)
  Executes a GET Request (non blocking)
void  doPost (const char *uri, const HTTPData &dataOut, HTTPData *pDataIn)
  Executes a POST Request (non blocking)
void  setOnResult (void(*pMethod)( HTTPResult ))
  Setups the result callback.
void  setTimeout (int ms)
  Setups timeout.
virtual void  poll ()
  This method can be inherited so that it is called on each Net::poll() call.
int  getHTTPResponseCode ()
  Gets last request's HTTP response code.
void  setRequestHeader (const string &header, const string &value)
  Sets a specific request header.
string &  getResponseHeader (const string &header)
  Gets a response header.
void  resetRequestHeaders ()
  Clears request headers.

Protected Member Functions

void  close ()
  This flags the service as to be destructed if owned by the pool.

Examples

Have a look at the Working with the networking stack and Twitter examples.

License