Skip to content

Latest commit

 

History

History
 
 

http_client

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Socket HTTP Client

Overview

This sample application implements an HTTP(S) client that will do an HTTP or HTTPS request and wait for the response from the HTTP server.

The source code for this sample application can be found at: :zephyr_file:`samples/net/sockets/http_client`.

Requirements

  • networking_with_host

Building and Running

You can use this application on a supported board, including running it inside QEMU as described in networking_with_qemu.

Build the http-client sample application like this:

Enabling TLS support

Enable TLS support in the sample by building the project with the overlay-tls.conf overlay file enabled using these commands:

An alternative way is to specify -DOVERLAY_CONFIG=overlay-tls.conf when running west build or cmake.

The certificate and private key used by the sample can be found in the sample's :zephyr_file:`samples/net/sockets/http_client/src/ directory. The default certificates used by Socket HTTP Client and https-server.py program found in the `net-tools <https://github.com/zephyrproject-rtos/net-tools>_ project, enable establishing a secure connection between the samples.

Running http-server in Linux Host

You can run this http-client sample application in QEMU and run the http-server.py (from net-tools) on a Linux host.

To use QEMU for testing, follow the networking_with_qemu guide.

In a terminal window:

$ ./http-server.py

Run http-client application in QEMU:

Note that http-server.py must be running in the Linux host terminal window before you start the http-client application in QEMU. Exit QEMU by pressing CTRL+A x.

You can verify TLS communication with a Linux host as well. Just use the https-server.py program in net-tools project.