per PHP an Wunderground senden - gibt Server eine Rückmeldung?

Für allgemeine Software
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#1

Beitrag von Wetterfrosch »

Hallo,

ich sende meine Messwerte alle 5 Minuten von meinem Server per PHP an WU und Awekas.

Code: Alles auswählen

$url = fopen("http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=$ID&PASSWORD=$PASSWORD&action=$action&dateutc=$dateutc&tempf=$tempf&dewptf=$dewptf&humidity=$humidity&winddir=$winddir&windspeedmph=$windspeedmph&windgustmph=$windgustmph&UV=$UV&solarradiation=$solarradiation&baromin=$baromin&rainin=$rainin&dailyrainin=$dailyrainin&realtime=$realtime", "r");
fclose($url);
Jetzt fiel mir auf, dass hin und wieder augenscheinlich das Paket beim Zielserver nicht angekommen ist und ich in diesem Fall gerne das Senden noch mal wiederholen würde.

Gibt der Zielserver bei erfolgreicher Übertragung bzw. bei fehlerhaften Übertragung irgendeine Rückmeldung, die ich dann über mein PHP-Script verarbeiten könnte um ggf. eine Wiederholung des Sendens zu steuern?

Danke für die Infos.
Gruß Frank
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#2

Beitrag von olicat »

Hi!

Zumindest einen Returncode 200.203 sollte WU zurückgeben. Womöglich sogar per Text ein OK.
Ich kann gerade nicht nachschauen, bin nicht vorm Rechner.

Oliver
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#3

Beitrag von Wetterfrosch »

Hi,

kann ich irgendwie den Returncode über mein PHP-Script ausgeben um nachzusehen was der Server da zurückgibt?
Und wenn er was zurückgibt, kann ich das irgendwie in eine if/else Bedingung mit einbauen, damit das Paket nochmals ausgesendet wird falls der Returncode nicht ankommt?
Benutzeravatar
Tex
Offline
Beiträge: 383
Registriert: 07 Dez 2020, 18:32
Wohnort: Woldegk
Hat sich bedankt: 19 mal
Danksagung erhalten: 67 mal
Kontaktdaten:

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#4

Beitrag von Tex »

WG mit success
AWEKAS mit OK
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#5

Beitrag von Wetterfrosch »

Kann ich dieses "success" bzw. "ok" irgendwie mit meinem PHP Script abrufen, d.h. kann ich irgendwie die Rückmeldung abrufen und damit dann eine eventuelle Wiederholung des Aussendens der Daten steueren, so in der Art:

if Rückmeldung == success (bzw. ok) mache nix, else sende Paket noch mal.

doch wie komme ich an das "success" (bzw. "ok") ran um es dann in die if/else Bedingung einzubauen?
Benutzeravatar
rodolfo
Offline
Beiträge: 256
Registriert: 27 Nov 2020, 15:59
Wohnort: Pfaffenhofen
Hat sich bedankt: 23 mal
Danksagung erhalten: 21 mal
Kontaktdaten:

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#6

Beitrag von rodolfo »

Sollte so funktionieren (ungetestet)

Code: Alles auswählen

$url = 'https://......................';
$ch = curl_init($url);

curl_setopt($ch, CURLOPT_HEADER, 0);
$returncode = curl_exec($ch);

// returncode enthält  Serverantwort
echo $returncode;

curl_close($ch);
Viele Grüße, Rolf

Bild
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#7

Beitrag von Wetterfrosch »

Hallo Rolf,

als $url habe ich in meinen Script ja dies drin:

Code: Alles auswählen

$url = fopen("http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=$ID&PASSWORD=$PASSWORD&action=$action&dateutc=$dateutc&tempf=$tempf&dewptf=$dewptf&humidity=$humidity&winddir=$winddir&windspeedmph=$windspeedmph&windgustmph=$windgustmph&UV=$UV&solarradiation=$solarradiation&baromin=$baromin&rainin=$rainin&dailyrainin=$dailyrainin&realtime=$realtime", "r");
und möchte auf diese Aktion wissen, ob der Upload der Daten erfolgreich war oder nicht.
Falls erfolgreich meldet wohl der WU Server "success" zurück und dieses würde ich gerne abgreifen.

Kann ich nun diese $url für dein Script 1:1 übernehmen oder muss ich eine andere $url definieren?

Gruß Frank
Benutzeravatar
rodolfo
Offline
Beiträge: 256
Registriert: 27 Nov 2020, 15:59
Wohnort: Pfaffenhofen
Hat sich bedankt: 23 mal
Danksagung erhalten: 21 mal
Kontaktdaten:

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#8

Beitrag von rodolfo »

Ja, kannst du übernehmen.
Viele Grüße, Rolf

Bild
Benutzeravatar
Wetterfrosch
Offline
Beiträge: 403
Registriert: 08 Dez 2020, 11:49
Wohnort: 79410 Badenweiler (350mNN) / Breisgau-Hochschwarzwald
Hat sich bedankt: 104 mal
Danksagung erhalten: 32 mal
Kontaktdaten:

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#9

Beitrag von Wetterfrosch »

also dann so:

Code: Alles auswählen

$url = fopen("http://weatherstation.wunderground.com/weatherstation/updateweatherstation.php?ID=$ID&PASSWORD=$PASSWORD&action=$action&dateutc=$dateutc&tempf=$tempf&dewptf=$dewptf&humidity=$humidity&winddir=$winddir&windspeedmph=$windspeedmph&windgustmph=$windgustmph&UV=$UV&solarradiation=$solarradiation&baromin=$baromin&rainin=$rainin&dailyrainin=$dailyrainin&realtime=$realtime", "r");

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_HEADER, 0);
$returncode = curl_exec($ch);

// returncode enthält  Serverantwort
echo $returncode;

curl_close($ch);
so funktioniert es leider nicht $returncode ist da dann leer.
oder muss ich als $url nur einen Teil des Linkes zu WU eingeben? Falls ja, welchen teil muss ich für die Abfrage eingeben?
Benutzeravatar
rodolfo
Offline
Beiträge: 256
Registriert: 27 Nov 2020, 15:59
Wohnort: Pfaffenhofen
Hat sich bedankt: 23 mal
Danksagung erhalten: 21 mal
Kontaktdaten:

Re: per PHP an Wunderground senden - gibt Server eine Rückmeldung?

#10

Beitrag von rodolfo »

Die URL muss nur in die doppelten Anführungsstriche, ohne fopen().
Viele Grüße, Rolf

Bild
Antworten