Как публиковать запросы HTTP POST на моем веб-сайте?

Я работаю над платой NodeMCU, чтобы публиковать данные датчиков в сервисе моего веб-сайта. В основном мой проект посвящен запросам POST и GET в одном коде.

Мне удается отправлять запросы GET с моего веб-сайта. Однако я просто не могу публиковать данные на своем веб-сайте.

Для публикации у меня есть 2 разные ссылки (службы ASP): одна будет публиковать данные, а другая будет использоваться для получения данных, таких же, как переданные по первой ссылке.

Вот мой код, а также как опубликовать 2 переменные в HTTP-запросе на публикацию?

#include (ESP8266WiFi.h)
#include (ESP8266HTTPClient.h)

const char* ssid = "oppo";
const char* password = "11111111";    
int giSwitchNum = 1, buttonPin = 2;

void setup () {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  pinMode(D1, OUTPUT);
  pinMode(D2, INPUT);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print("Connecting..");
  }
  giSwitchNum = 1;
  Serial.print("Connect");
}

void loop() {
  if (WiFi.status() == WL_CONNECTED) { //Проверяем статус соединения WiFi
    HTTPClient Post;
    Post.begin("http://lemontechnologies.net/Services/Service.svc/SetData");
    Post.addHeader("operator", "text/plain");  
    Post.POST("Key=hi&val=jagrut1");
    String payload = Post.getString();
    Post.end();
  } 
  delay(500);  
}

, 👍1

Обсуждение

удалите заголовок «оператор» и добавьте заголовок «Content-Type» со значением «application/x-www-form-urlencoded», @Juraj


1 ответ


1
void wifi_connect(){
  WiFi.mode(WIFI_OFF);        // Предотвращает проблему повторного подключения (слишком долгое подключение)
  delay(1000);
  WiFi.mode(WIFI_STA);        //Эта строка скрывает просмотр ESP как точки доступа Wi-Fi
  //WIFI_STA Это очень важно!!!!

  WiFi.begin(ssid, password);     //Подключитесь к вашему Wi-Fi роутеру
  while(WiFi.status() != WL_CONNECTED){
    delay(1000);
    Serial.print(".");
  }

  Serial.println("Wifi connected");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  return;
}
,

Я думаю, вы можете попробовать "WiFi.mode(WIFI.STA)", @Dahd