соединения по https, поэтому мы используем класс WiFiClientSecure.
Код программы целиком приведен ниже.
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <time.h>
const char* ssid = "TP-LINK_AB11";
const char* password = "12345678";
WiFiClientSecure client;
void uploadData(String content) {
Serial.println("Dropbox connecting...");
if (client.connect("content.dropboxapi.com", 443)) {
Serial.println("Dropbox connected");
// Сформировать имя файла по шаблону времени
time_t now = time(nullptr);
struct tm timeinfo;
gmtime_r(&now, &timeinfo);
char file_name[64] = {0};
strftime(file_name, 64, "log-%Y-%m-%d-%H-%M-%S.txt", &timeinfo);
Serial.print("Upload "); Serial.println(file_name);
// Отправка запроса
client.println("POST /2/files/upload HTTP/1.1");
client.println("Host: content.dropboxapi.com");
client.println("Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXX");
char dropbox_args[255] = {0};
sprintf(dropbox_args,
"{\"path\": \"/%s\", \"mode\": \"overwrite\", \"autorename\": true, \"mute\": false}", file_name);
client.print("Dropbox-API-Arg: "); client.println(dropbox_args);
client.println("Content-Type: application/octet-stream");
client.print("Content-Length: "); client.println(content.length());
client.println();
client.println(content);
delay(5000);
client.stop();
Serial.println("Disconnect");
Serial.println();
} else {
Serial.println("Error: cannot connect");
Serial.println();
}
}
void setup() {
Serial.begin(115200);