Post request on wt32-eth01 with WebServer_WT32_ETH01 library
Posted: Thu Mar 09, 2023 6:32 pm
Hi all,
I've manage to do GET request and seems to work but i have a hard time figuring out how to do a simple post request on the same script with the WebServer_WT32_ETH01 library WebClient.ino,
You can find the code that i'm using below.
Your help will be greatly appreciated.
I've manage to do GET request and seems to work but i have a hard time figuring out how to do a simple post request on the same script with the WebServer_WT32_ETH01 library WebClient.ino,
You can find the code that i'm using below.
Your help will be greatly appreciated.
Code: Select all
/****************************************************************************************************************************
WebClient.ino - Simple Arduino web server sample for Ethernet shield
For Ethernet shields using WT32_ETH01 (ESP32 + LAN8720)
WebServer_WT32_ETH01 is a library for the Ethernet LAN8720 in WT32_ETH01 to run WebServer
Based on and modified from ESP8266 https://github.com/esp8266/Arduino/releases
Built by Khoi Hoang https://github.com/khoih-prog/WebServer_WT32_ETH01
Licensed under MIT license
*****************************************************************************************************************************/
#define DEBUG_ETHERNET_WEBSERVER_PORT Serial
// Debug Level from 0 to 4
#define _ETHERNET_WEBSERVER_LOGLEVEL_ 3
#include <WebServer_WT32_ETH01.h>
// Select the IP address according to your local network
IPAddress myIP(192, 168, 2, 232);
IPAddress myGW(192, 168, 2, 1);
IPAddress mySN(255, 255, 255, 0);
// Google DNS Server IP
IPAddress myDNS(8, 8, 8, 8);
char server[] = "arduino.cc";
// Initialize the Ethernet client object
WiFiClient client;
void setup()
{
Serial.begin(115200);
while (!Serial);
// Using this if Serial debugging is not necessary or not using Serial port
//while (!Serial && (millis() < 3000));
Serial.print("\nStarting WebClient on " + String(ARDUINO_BOARD));
Serial.println(" with " + String(SHIELD_TYPE));
Serial.println(WEBSERVER_WT32_ETH01_VERSION);
// To be called before ETH.begin()
WT32_ETH01_onEvent();
//bool begin(uint8_t phy_addr=ETH_PHY_ADDR, int power=ETH_PHY_POWER, int mdc=ETH_PHY_MDC, int mdio=ETH_PHY_MDIO,
// eth_phy_type_t type=ETH_PHY_TYPE, eth_clock_mode_t clk_mode=ETH_CLK_MODE);
//ETH.begin(ETH_PHY_ADDR, ETH_PHY_POWER, ETH_PHY_MDC, ETH_PHY_MDIO, ETH_PHY_TYPE, ETH_CLK_MODE);
ETH.begin(ETH_PHY_ADDR, ETH_PHY_POWER);
// Static IP, leave without this line to get IP via DHCP
//bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0);
ETH.config(myIP, myGW, mySN, myDNS);
WT32_ETH01_waitForConnect();
Serial.println();
Serial.println(F("Starting connection to server..."));
// if you get a connection, report back via serial
if (client.connect(server, 80))
{
Serial.println(F("Connected to server"));
// Make a HTTP request
client.println(F("GET /asciilogo.txt HTTP/1.1"));
client.println(F("Host: arduino.cc"));
client.println(F("Connection: close"));
client.println();
}
}
void printoutData()
{
// if there are incoming bytes available
// from the server, read them and print them
while (client.available())
{
char c = client.read();
Serial.write(c);
Serial.flush();
}
}
void loop()
{
printoutData();
// if the server's disconnected, stop the client
if (!client.connected())
{
Serial.println();
Serial.println(F("Disconnecting from server..."));
client.stop();
// do nothing forevermore
while (true)
yield();
}
}