narodmon.ru где ошибка?

Тема в разделе "ESP8266, ESP32", создана пользователем sasha294, 2 янв 2019.

  1. sasha294

    sasha294 Нерд

    Код (C++):
    #include <Wire.h>
    #include <ESP8266WiFi.h>
    #include <OneWire.h>
    #include <DallasTemperature.h>


    const char* ssid = ".";
    const char* password = ".";
    const char* server = "narodmon.ru/post";
    const String mac = "-:-:-:-:-:-";
                 
                         
                         
    WiFiClient client;            

    void setup(void)
    {

      WiFi.begin(ssid, password);
      while (WiFi.status() != WL_CONNECTED) {
      delay(500);
    }
    }
    void loop(void)
    {
      if (client.connect(server,80)) {
      int t = -4;

      String postStr = "ID=";
      postStr +=mac;
      postStr +="&mac1=";
      postStr += String(t);
      postStr +="&lat=";
      postStr +="47.0000";
      postStr +="&lng=";
      postStr +="47.0000";



      client.print("POST http://narodmon.ru/post HTTP/1.0\r\n");
      client.print("Host: narodmon.ru\r\n");
      client.print("Content-Type: application/x-www-form-urlencoded\r\n");
      client.print("Content-Length: ");
      client.print(postStr.length());
      client.print("\n\n");
      client.print(postStr);

    }
      client.stop();


      delay(1000*60*6);

    }
     
     
  2. ИгорьК

    ИгорьК Давно здесь Команда форума

    Навскидку
    Код (C++):

    client.print("\n\n")
    Надо
    client.print("\r\n")
    А вообще, на этом сайте есть необходимые темы.
    $%$*$, за вас надо их лопатить?
     
  3. ИгорьК

    ИгорьК Давно здесь Команда форума

    И postStr должен двумя парами \r\n завершатся.
    Но это по памяти. Ищите и смотрите примеры.
     
  4. BAR__MEN

    BAR__MEN Иномирянин Команда форума

    Разве?
    Может для POST запроса это так, но GET я пишу так:
    Код (Text):

    client.println("GET /data/2.5/weather?id=" + String(city) + "&appid=" + String(api) + " HTTP/1.1");
    client.println("Host: api.openweathermap.org");
    client.println("Connection: close");
    client.println();
     
     
  5. ИгорьК

    ИгорьК Давно здесь Команда форума

    Знаешь, я за всю жизнь написал лишь один то ли post то ли get запрос для отправки данных на народный мониторинг. И они отправляются туда уже несколько лет.

    Я абсолютно не помню как это сделал, потому что "отправка post/get запросов" не входит в круг моих обязанностей или интересов.

    Всегда есть справочник, куда можно посмотреть. Именно так я и сделал, когда писал второй запрос - серверу apixu про погоду. Теперь у меня опыт отправки аж двух запросов.

    На этом мой опыт исчерпан. Так что втягиваться в концептуальные споры считаю себя некомпетентным :)
     
    BAR__MEN, sasha294 и vvr нравится это.