我想通过以太网模块将动态大小(长)的JSON数据发送到Web API。在发送数据之前,我必须发送HTTP标头。我的JSON数据量非常大,我不想将这些数据存储在内存中,只是为了计算发送Content-Length
HTTP头的数据长度。但是我需要知道这个动态创建的JSON数据大小,以便在发送JSON数据之前发送Content-Length
HTTP头。有没有办法在不使用Content-Type的情况下发送JSON数据?或者你有其他技术吗?
我的示例Arduino代码:
char output_buffer[100];
sprintf(output_buffer, "POST %s HTTP/1.1", url_path.c_str());
client.println(output_buffer);
sprintf(output_buffer, "Host: %s:%d", url_base.c_str(), port_number );
client.println("Content-Type: application/json;charset=utf-8");
client.println("User-Agent: Fiddler");
client.println("Connection: close");
client.println();
for (byte index = 0; index < device_count; index++) {
client.println("...");
client.println("...");
client.println("...");
client.println("...");
}
这个动态创建的JSON数据长度约为15K。