Mit Hilfe eines Esp8266 und mit dem folgenden AT-Befehle ich erfolgreich die Webseite bekommen:Warum meldet ESP8266 DNS beim Laden der PHP-URL?
AT+CIPSTART="TCP","www.somewebsite.com",80
AT+CIPSEND=80
> GET http://www.somewebsite.com HTTP/1.0
<I get a bunch of HTML here>
So weit so gut. Jetzt habe ich eine PHP-Seite auf meiner Website, die ein paar Parameter nimmt und eine Tabelle in einer Datenbank entsprechend aktualisiert. Also, wenn ich schreibe:
http: //www.mywebsite.com/mypage.php arg1 = ein & arg2 = zwei
Es erfolgreich die Tabelle aktualisiert. Jetzt, wenn ich versuche ESP8266 zu verwenden, um das gleiche ich einen DNS bekommen nicht zu tun:
AT+CIPSTART="TCP","http://www.mywebsite.com/mypage.php?arg1=one&arg2=two",80
<get DNS fail here>
Selbst wenn ich die PHP-Seite ohne die Argumente versuche ich bekommen DNS fehlschlagen:
AT+CIPSTART="TCP","http://www.mywebsite.com/mypage.php",80
<get DNS fail here>
Wer weiß, was ist geht es weiter? Könnte es sein, dass die PHP-Seite nicht auf Port 80 ist? Und wenn das der Fall ist, wie finde ich heraus, auf welchem Port es ist?
Übrigens, wenn ich das gleiche mit einer HTML-Seite auf meiner Website mache, funktioniert es gut.
EDIT: Wenn ich versuche, dieses:
AT+CIPSTART="TCP","www.mywebsite.com",80
> GET /mypage.php?arg1=one,arg2=two
ich diese Ausgabe:
Error 404 - Not Found
Und wenn ich versuche:
AT+CIPSTART="TCP","www.mywebsite.com",80
> GET http://www.mywebsite.com/mypage.php?arg1=one,arg2=two
I Holen Sie sich den HTML-Code von www.mywebsite.com/index.html und nicht die PHP-Seite.
Ich bin auch nicht sicher, was das "HTTP/1.0" im GET-Befehl tut?
Das Argument soll nur der Domain-Name der Website sein. Der Rest der URL steht hinter "GET". – Barmar