@Dar1uz

Возвращается некорректный ответ после post запроса на dadata. Где ошибка?

#include <ESP8266HTTPClient.h>
#include <ESP8266WiFi.h>

const char* ssid = "имя сети";
const char* password = "пароль";
byte tries = 10;  // Попыткок подключения к точке доступа

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  while (--tries && WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  if (WiFi.status() != WL_CONNECTED)
  {
    Serial.println("Non Connecting to WiFi..");
  }
  else
  {
    // Иначе удалось подключиться отправляем сообщение
    // о подключении и выводим адрес IP
    Serial.println("");
    Serial.println("WiFi connected");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
  }
}

void loop() {

  HTTPClient http;    //Объявить объект класса HttpClient
  WiFiClient client;

  http.begin(client, "https://cleaner.dadata.ru/api/v1/clean/address");      //Укажите адрес запроса
  http.addHeader("Content-Type", "application/json");
  http.addHeader("Accept", "application/json");
  http.addHeader("Authorization", "Token какой-то токен");
  http.addHeader("X-Secret", "секрет");
  //Укажите заголовок типа содержимого
  
  int httpCode = http.POST("Красноярск");   //Отправьте запрос
  delay(5000);
  String payload = http.getString();                  //Получите полезную нагрузку ответа

  Serial.println(httpCode);   //Распечатать код возврата HTTP //400
  Serial.println(payload);    //Полезная нагрузка для ответа на запрос печати
  //<html>
  //    QRATOR HTTP 497
  //</html>
  http.end();  //Закрыть соединение


  delay(30000);  //Ждем 30 сек.

}


Запрос возвращает следующее:

QRATOR HTTP 497


Ниже скрины формата запроса и возможных ошибок.
65c1f89f9c548282486199.png
65c1f8aaef528595681378.png
По коду ошибки я понимаю, что неправильно составлен запрос, но конкретно в чем проблема я не могу понять. Подскажите, пожалуйста, где ошибка
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 2
@kalapanga
Я с ESP общался очень мало, но, по-моему, в скетче чего-то не хватает для работы с https.
(посмотрите примеры к Вашим библиотекам)
Ответ написан
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Можно попробовать задать явно порт для https
http.begin(client, "https://cleaner.dadata.ru:443/api/v1/clean/address");
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы