Forum: PC-Programmierung Mitschneiden eines Posts einer Webseite bei Druck eines Buttons


von axelroro (Gast)


Lesenswert?

Hallo,
blöder Titel, wusste aber nicht, wie besser beschreiben.

Folgendes Scenario: Meine Wärmepumpe kann über ein sog. Internet-Gateway 
(ISG) über einen Browser programmiert werden. Man kann z.B. eine 
Absenkung in einem Wochenprogram hinterlegen, und wenn man auf Speichern 
klickt, wird das in die Steuerung zurückgeschrieben.

Nun möchte ich aber neben der Absenkung zu den kältesten Stunden um 1 
Grad auch eine Anhebung zu den wärmsten Stunden um 1 Grad programmieren, 
um die Wärmepumpen-Arbeitszahl etwas zu erhöhen (geringfügig). Das kann 
die Steuerung aber nicht. Die kann nur eine Tag und eine 
Nacht-Temperatur. Die Anhebung müsste man jeden Tag gezielt zur 
passenden Zeit automatisiert umstellen. Eigentlich müsste ich dazu nur 
einmal abfangen, was ich bei der angehobenen Periode als 
Vorgabe-Raumtemperatur einstellen möchte, und das dann per Software 
automatisiert schicken. Ein PC läuft immer, eine entsprechende Software 
hätte ich auch.

Wie fange ich nun ab, was der Browser z.B. beim Drücken von Speichern 
nach Erhöhung der Solltemperatur um 1Grad an die ISG schickt? Wie kann 
man das mitschneiden?

Dankbar für Hinweise.

Grüsse

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Wireshark

von Jim M. (turboj)


Lesenswert?

Was an den Server so gesendet wird, zeigt Dir Firefox in Firebug an. 
Wireshark braucht man für Webanwendungen nicht unbedingt.

von axelroro (Gast)


Lesenswert?

Danke an Euch beide. Ich will mal den Firebug probieren. Den hab ich 
auch installiert und aktiviert, nur jetzt bin ich leicht überfordert. 
Ich lade also meine Seite, drücke den Button "Speichern", und nun?

Bitte noch um einen weiterführenden Tip, bin leider in html/Java nicht 
allzu bewandert.

Danke

von Roland P. (pram)


Lesenswert?

Firebug öffnen
Auf den Tab Netzwerk gehen, ggf. "Dauerhaft" anklicken
Webseite öffnen + speichern
Nun solltest du die Daten sehen die zum Server kommuniziert wurden.

Gruß
Roland

von axelroro (Gast)


Lesenswert?

OK, danke.

Ich sehe zunächst jede Menge GET's beim Laden der Seite. Damit holt er 
sich von der Heizung offensichtlich, was dort gespeichert ist.

Wenn ich nun auf Speichern klicke, zeigt mir Firebug einen "POST 
save.php" an, bzw. wenn ich mit der Maus drübergehe, ein 
"http://heizung/save.php";.

Ein paar Verständnisfragen bitte noch:
Als Detail sehe ich einen Antwort und Anfrage-Header. Der Anfrageheader 
wird wohl vom Browser generiert, nehm ich an:
  POST /save.php HTTP/1.1
  Host: heizung
  User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) 
Gecko/20100101       Firefox/34.0
  Accept: text/plain, */*; q=0.01
  Accept-Language: de,en-US;q=0.7,en;q=0.3
  Accept-Encoding: gzip, deflate
  DNT: 1
  Content-Type: application/x-www-form-urlencoded; charset=UTF-8
  X-Requested-With: XMLHttpRequest
  Referer: http://heizung/?s=4,0
  Content-Length: 194
  Cookie: PHPSESSID=223c6cabdbe41318346e0259bec4ca57
  Connection: keep-alive
  Pragma: no-cache
  Cache-Control: no-cache

Weiterhin sehe ich unter Post:
  data 
[{"name":"val16","value":"21,0"},{"name":"val17","value":"20,0"},{"name" 
:"val25","value":"0,30"}]
Das sind die Einstellungen.

Reichte es dann, einfach den Post (also die Daten) zu schicken, oder muß 
ich diesen Anfrageheader irgendwie mit den Daten zusammenfahren?

Sorry für die Dummy-Fragen, ich vermute, es ist ganz einfach.

Wäre dankbar noch für den ein/anderen Tip. Wenn man nach html googled 
wird man als Laie erschlagen mit der Flut an Info.

Grüsse

von axelroro (Gast)


Lesenswert?

Hab noch mal weiterge-googled. Verstehe ich das richtig, ich müsste nur 
eine Zeile

http://heizung/save.php&Zeile1&Zeile2&Zeile3&; .... &LetzteZeile

schicken, wobei die Zeilen zunächst der Anfrageheader und dann die 
Datenzeile ist?

Grüsse

von BjoernS (Gast)


Lesenswert?

Beim Post gehören die Daten in den Body der Nachricht. Wie du es auch 
siehst.
Das Anhängen an die URL macht man beim Get. (Oder auch zusätzlich beim 
Post, in diesem Fall jedoch scheinbar nicht.)

Curl wäre das Schweizer Taschenmesser für so etwas, damit bekommt man 
auch Dinge wie vorher Anmelden und Cookies gelöst.

von axelroro (Gast)


Lesenswert?

Hab ich schon Danke gesagt? Danke schön.
Curl läuft schon mal, gibt zwar noch Probleme, aber bin noch am 
Probieren.

von Joe F. (easylife)


Lesenswert?

Ich würde einfach mal ausprobieren einen GET request zu benutzen.
Also
1
http://heizung/save.php?val16=21&val17=20&val25=0

Wenn du das Kommazeichen für Fließkommazahlen brauchst, musst du es in 
der URL durch einen entsprechenden Code (%2C) ersetzen.
Vermutlich so:
1
http://heizung/save.php?val16=21%2C0&val17=20%2C0&val25=0%2C3

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.