Я пытаюсь отправить на мою веб-страницу некоторые данные, которые защищены (HTTPS) от моего NodeMCU, но данные не отображаются на веб-странице.
Я проверил php по URL, а также по cURL, оба работали. Ниже мой php-код, который сохраняется на стороне сервера.
<?php
if($_SERVER['HTTPS']!="on")
{
$redirect= "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
header("Location:$redirect");
}
if( $_REQUEST["d1"] || $_REQUEST["d2"])
{
echo " Data1: ". $_REQUEST['d1']. "<br />";
echo " Data2: ". $_REQUEST['d2']. "<br />";
}
$var1 = $_REQUEST['d1'];
$var2 = $_REQUEST['d2'];
$WriteMyRequest=
"<p> Data1 : " . $var1 . " </p>".
"<p> Data2 : " . $var2 . " </p><br/>";
file_put_contents('dataDisplayer.html', $WriteMyRequest, FILE_APPEND);
?>
Также мой код Arduino приведен ниже, в котором я сохранил два случайных целых числа и попытался отправить их на страницу php, которая будет хранить данные на html-странице, и мы можем увидеть выходные данные на этой html-странице.
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
const char server[] = "shounaks.cf";
WiFiClient client;
int i;
String postData;
const char* MY_SSID = "Redmi";
const char* MY_PWD = "hello1234t";
void setup()
{
i=0;
Serial.begin(115200);
Serial.print("Connecting to "+*MY_SSID);
WiFi.begin(MY_SSID, MY_PWD);
Serial.println("going into wl connect");
while (WiFi.status() != WL_CONNECTED) //not connected, ...waiting to connect
{
delay(1000);
Serial.print(".");
}
Serial.println("wl connected");
Serial.println("");
Serial.println("Credentials accepted! Connected to wifi\n ");
Serial.println("");
}
void loop()
{
Serial.println("\nStarting connection to server...");
// if you get a connection, report back via serial:
if (client.connect(server, 443)) {
Serial.println("connected to server");
WiFi.printDiag(Serial);
if(i==20){
i=0;
}
postData = "d1=" + String(i) + "&d2=" + String(analogRead(A0)) ;
i++;
//change URL below if using your Sub-Domain
client.println("POST /test2.php HTTP/1.1");
//change URL below if using your Domain
client.print("Host: shounaks.cf");
client.print("\n");
client.println("User-Agent: NodeMCU/1.0");
client.print("\n");
client.print("Content-Length: ");
client.print(postData.length());
client.print("\n");
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("\n\n");
client.print(postData);
client.stop();
Serial.println("\n");
Serial.println("My data string im POSTing looks like this: ");
Serial.println(postData);
Serial.println("And it is this many bytes: ");
Serial.println(postData.length());
delay(2000);
}
}
Задача ещё не решена.
Других решений пока нет …