esp8266 Digest авторизация как не прерывать сессию

3d_killer
Offline
Зарегистрирован: 13.06.2018

Попробовал пример который был в архиве, Digest авторизация на сайт, все отлично работает, только при каждом отсылки данных приходится авторизоваться, это нормально? можно как то поддерживать авторизацию и просто отправлять данные? Вот код отправики, функции  для шифрования тут не привожу, не пойму какую часть кода использовать для отправки запроса без авторизации и чтобы она не срывалась.

void SendData()
{
  WiFiClient client;
  HTTPClient http;
  Serial.print("[HTTP] begin...\n");
  // configure traged server and url
  http.begin(client, String(server) + String(url));
  const char *keys[] = {"WWW-Authenticate"};
  http.collectHeaders(keys, 1);
  Serial.print("[HTTP] GET...\n");
  // start connection and send HTTP header
  int httpCode = http.GET();
  if (httpCode > 0) 
  {
    String authReq = http.header("WWW-Authenticate");
    //Serial.println(authReq);
    String authorization = getDigestAuth(authReq, username, password, String(url), 1);
    http.end();
    http.begin(client, String(server) + String(url));
    http.addHeader("Authorization", authorization);
    int httpCode = http.GET(); 
    if (httpCode > 0) 
      { 
        String payload = http.getString();
        Serial.println(payload);
      } 
    else 
      {
        Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
      }
  } 
  else 
  {
    Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
  }
  http.end();    
}

 

rkit
Offline
Зарегистрирован: 23.11.2016

Ну и будешь вместо авторизации точно так же отправлять ключ сессии.

3d_killer
Offline
Зарегистрирован: 13.06.2018

вот я и спрашиваю как это сделать