Olá gente, então, eu estou com um problema onde, eu faço o envio de uma requisição para uma API minha, eu hospedava ela em um outro serviço, vou chamar de serviço A, porém quando eu troquei ela para o serviço B, e alterei o link no meu código, a api me retorna: erro HTTP/1.0 308 Permanent Redirect alguem sabe se é necessário fazer algum tratamento especifico de dados? ou se é algo do serviço B que estou hospedando a API? Vale ressaltar que já testei outros 3 serviços de hospedagem, porém em ambos me retornavam erro, quando eu hospedava a API no Railway e no Render dava erro 301, agora estou hospedando no Vercel e está dando erro 308, segue o código para alguem que possa ajudar, valeuuu.
`void enviarParaApi(String nome, String email, String foto, int idBiometria, String tipo) { //Função para enviar o acesso para a API
DynamicJsonDocument envia(2048);
envia["nome"] = nome; //Cria o campo nome no arquivo json que será enviado
envia["email"] = email; //Cria o campo email no arquivo json que será enviado
envia["idBiometria"] = idBiometria; //Cria o campo idMatricula no arquivo json que será enviado
envia["foto"] = foto;
envia["tipo"] = tipo;
String jsonStrings; //Cria uma variavel
serializeJson(envia, jsonStrings); //Atribui os valores criados anteriormente a variavel criada agora
// Serial.println(jsonStrings);
EthernetClient client; //inicia o client, a api
client.setTimeout(10000);
if (!client.connect("api-labmaker-rd5ijm2qj-vinicioeufs-projects.vercel.app", 80)) { //Se não existir uma conexão exibe que a conexão falhou
Serial.println(F("Connection failed"));
return;
}
Serial.println(F("Connected!"));
// Send HTTP request
client.println(F("POST /addacessos HTTP/1.0")); //Prepara para enviar um POST pelo link /addacessos
client.println(F("Host: api-labmaker-rd5ijm2qj-vinicioeufs-projects.vercel.app")); // Define o link do host
client.println(F("Content-Type: application/json")); //Define o formato que será enviado como json
client.print(F("Content-Length: "));
client.println(jsonStrings.length());
client.println(F("Connection: close"));
client.println();
client.println(jsonStrings); //Envia os dados para a API
if (client.println() == 0) { // Verifica se a requisição foi feita com sucesso
Serial.println(F("Failed to send request"));
myFile = SD.open("dadosusuario.txt", FILE_WRITE);
myFile.println(jsonStrings);
myFile.close();
client.stop();
return;
}
char status[32] = { 0 };
client.readBytesUntil('\r', status, sizeof(status));
if (strcmp(status, "HTTP/1.1 200 OK") != 0) { // Verifica se os dados foram enviados
Serial.print(F("Unexpected response: "));
Serial.println(status);
client.stop();
return;
} else { //Se forem enviados entra nesse else
Serial.println("Adicionado com sucesso");
myFile = SD.open("dadosusuario.txt", FILE_WRITE);
myFile.println(jsonStrings);
myFile.close();
}
char endOfHeaders[] = "\r\n\r\n";
if (!client.find(endOfHeaders)) {
Serial.println(F("Invalid response"));
client.stop();
return;
}
client.stop();
}
`