mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-03 22:08:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
 | 
						|
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | -------- |
 | 
						|
 | 
						|
# HTTP Request Example
 | 
						|
 | 
						|
(See the README.md file in the upper level 'examples' directory for more information about examples.)
 | 
						|
 | 
						|
Uses a POSIX socket to make a very simple HTTP request.
 | 
						|
 | 
						|
## How to use example
 | 
						|
Before project configuration and build, be sure to set the correct chip target using `idf.py set-target <chip_name>`.
 | 
						|
 | 
						|
### Hardware Required
 | 
						|
 | 
						|
* A development board with ESP32/ESP32-S2/ESP32-C3 SoC (e.g., ESP32-DevKitC, ESP-WROVER-KIT, etc.)
 | 
						|
* A USB cable for power supply and programming
 | 
						|
 | 
						|
### Configure the project
 | 
						|
 | 
						|
```
 | 
						|
idf.py menuconfig
 | 
						|
```
 | 
						|
Open the project configuration menu (`idf.py menuconfig`) to configure Wi-Fi or Ethernet. See "Establishing Wi-Fi or Ethernet Connection" section in [examples/protocols/README.md](../../README.md) for more details.
 | 
						|
 | 
						|
### Build and Flash
 | 
						|
 | 
						|
Build the project and flash it to the board, then run monitor tool to view serial output:
 | 
						|
 | 
						|
```
 | 
						|
idf.py -p PORT flash monitor
 | 
						|
```
 | 
						|
 | 
						|
(Replace PORT with the name of the serial port to use.)
 | 
						|
 | 
						|
(To exit the serial monitor, type ``Ctrl-]``.)
 | 
						|
 | 
						|
See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
 | 
						|
 | 
						|
## Example Output
 | 
						|
 | 
						|
```
 | 
						|
I (10557) example_connect: - IPv4 address: 192.168.194.219
 | 
						|
I (10557) example_connect: - IPv6 address: fe80:0000:0000:0000:266f:28ff:fe80:2c74, type: ESP_IP6_ADDR_IS_LINK_LOCAL
 | 
						|
W (10577) wifi:<ba-add>idx:0 (ifx:0, ee:6d:19:60:f6:0e), tid:0, ssn:3, winSize:64
 | 
						|
I (10587) example: DNS lookup succeeded. IP=93.184.216.34
 | 
						|
I (10587) example: ... allocated socket
 | 
						|
I (10917) example: ... connected
 | 
						|
I (10917) example: ... socket send success
 | 
						|
I (10927) example: ... set socket receiving timeout success
 | 
						|
HTTP/1.0 200 OK
 | 
						|
Age: 317271
 | 
						|
Cache-Control: max-age=604800
 | 
						|
Content-Type: text/html; charset=UTF-8
 | 
						|
Date: Mon, 06 Sep 2021 08:09:49 GMT
 | 
						|
Etag: "3147526947+ident"
 | 
						|
Expires: Mon, 13 Sep 2021 08:09:49 GMT
 | 
						|
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
 | 
						|
Server: ECS (nyb/1D2B)
 | 
						|
Vary: Accept-Encoding
 | 
						|
X-Cache: HIT
 | 
						|
Content-Length: 1256
 | 
						|
Connection: close
 | 
						|
 | 
						|
<!doctype html>
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
    <title>Example Domain</title>
 | 
						|
 | 
						|
    <meta charset="utf-8" />
 | 
						|
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
 | 
						|
    <meta name="viewport" content="width=device-width, initial-scale=1" />
 | 
						|
    <style type="text/css">
 | 
						|
    body {
 | 
						|
        background-color: #f0f0f2;
 | 
						|
        margin: 0;
 | 
						|
        padding: 0;
 | 
						|
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
 | 
						|
 | 
						|
    }
 | 
						|
    div {
 | 
						|
        width: 600px;
 | 
						|
        margin: 5em auto;
 | 
						|
        padding: 2em;
 | 
						|
        background-color: #fdfdff;
 | 
						|
        border-radius: 0.5em;
 | 
						|
        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
 | 
						|
    }
 | 
						|
    a:link, a:visited {
 | 
						|
        color: #38488f;
 | 
						|
        text-decoration: none;
 | 
						|
    }
 | 
						|
    @media (max-width: 700px) {
 | 
						|
        div {
 | 
						|
            margin: 0 auto;
 | 
						|
            width: auto;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    </style>
 | 
						|
</head>
 | 
						|
 | 
						|
<body>
 | 
						|
<div>
 | 
						|
    <h1>Example Domain</h1>
 | 
						|
    <p>This domain is for use in illustrative examples in documents. You may use this
 | 
						|
    domain in literature without prior coordination or asking for permission.</p>
 | 
						|
    <p><a href="https://www.iana.org/domains/example">More information...</a></p>
 | 
						|
</div>
 | 
						|
</body>
 | 
						|
</html>
 | 
						|
I (11467) example: ... done reading from socket. Last read return=0 errno=128.
 | 
						|
I (11477) example: 10...
 | 
						|
I (12477) example: 9...
 | 
						|
I (13477) example: 8...
 | 
						|
```
 |