HTTP Client / 403 Forbidden nginx seit Juli

Guten Abend zusammen,
ich nutze seit längerem den HTTP Client in Verbindung mit dem Text Parser um die Wetterdaten einer lokalen Station des DLR einzulesen. Seit Juli bekomme ich aber keine Daten mehr und beim Test erhalte ich 403 Forbidden / nginx zurück.
Die Seite ist aber von meinem Rechner aus weiterhin ganz normal erreichbar: https://dlr-web-daten1.aspdienste.de/cgi-bin/wetter-rlp.js.pl?lid=028&pid=31
Neu angelegt habe ich das Modul schon - leider habe ich keine Idee in welche Richtung ich hier suchen soll… Habt ihr einen Tipp für mich?
Symcon 6.3 auf Raspbian GNU/Linux 11 (bullseye) / keine spezielle Firewall, lediglich FritzBox
Beste Grüße

Im Normalfall hat der Gegenüber (DLR) irgendwas eingebaut, sodass geprüft wird, ob die Anfrage wirklich von der DLR Seite kommt und nicht von einem externen Tool. Ich befürchte du müsstest mal schauen, ob du ggf. mit PHP die Anfrage besser gestalten kannst - z.B. den User-Agent setzen.

paresy

wow, das ging schnell. Und funktioniert. :slight_smile:
Über eine PHP-Script bekomme ich unter Angabe eines User-Agents den Quelltext. Nun kann ich den Text-Parser ja nicht an die Variable hängen - gibt es da eine elegante Alternative oder muss ich im PHP selbst tätig werden?

Ja. Du kannst den Virtual IO verwenden :slight_smile:

paresy

Super, wieder mal eine tolle Lösung für dieses Problem.
Für alle, die das eventuell auch noch brauchen:
Statt der HTTP Client Instanz habe ich ein Script und eine Instanz vom Typ „Virtual IO“ erstellt.
Im TextParser habe ich das Virtual IO als Gateway ausgewählt und sende nun mit VIO_PushText im Script den Quelltext über das Virtual IO an den TextParser.

So sieht das Script aus:

<?php

ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
$url = "https://dlr-web-daten1.aspdienste.de/cgi-bin/wetter-rlp.js.pl?lid=028&pid=31";

$page = file_get_contents($url);

VIO_PushText(59966, $page);

?>

Danke

1 „Gefällt mir“

Ich habe seit kurzen mit nginx das problem, das hin und wieder die Verbindung weg ist.
Blöderweise habe ich den nginx proxy manager der im Docker läuft, docker selber und IPS am gleichen Tag geupdated. War nicht so schlau.

Die Symcon App sagt ganz kurz oben „Verbindungswiederherstellung“ oder in statistiken „Parse Error“.
Wenn ich per Browser aufrufe bekomme ich dann Bad Gateway. Paar mal f5 und es geht wieder.

Diese Meldungen habe ich im Proxy log:
2023/01/22 10:27:21 [error] 370#370: *255333 upstream prematurely closed connection while reading response header from upstream, client: 172.21.0.1, server: symcon.domain.de, request: „POST /hook/ipsviewconnect/api/ HTTP/1.1“, upstream: „http://192.168.23.5:3777/hook/ipsviewconnect/api/“, host: „symcon.domain.de
2023/01/22 10:27:25 [error] 370#370: *255351 upstream prematurely closed connection while reading response header from upstream, client: 172.21.0.1, server: symcon.domain.de, request: „POST /hook/ipsviewconnect/api/ HTTP/1.1“, upstream: „http://192.168.23.5:3777/hook/ipsviewconnect/api/“, host: „symcon.domain.de
2023/01/22 10:27:26 [error] 370#370: *255357 upstream prematurely closed connection while reading response header from upstream, client: 172.21.0.1, server: symcon.domain.de, request: „POST /hook/ipsviewconnect/api/ HTTP/1.1“, upstream: „http://192.168.23.5:3777/hook/ipsviewconnect/api/“, host: „symcon.domain.de
2023/01/22 10:27:26 [error] 370#370: *255359 upstream prematurely closed connection while reading response header from upstream, client: 172.21.0.1, server: symcon.domain.de, request: „POST /hook/ipsviewconnect/api/ HTTP/1.1“, upstream: „http://192.168.23.5:3777/hook/ipsviewconnect/api/“, host: „symcon.domain.de
2023/01/22 10:27:27 [error] 370#370: *255361 upstream prematurely closed connection while reading response header from upstream, client: 172.21.0.1, server: symcon.domain.de, request: „POST /api/ HTTP/1.1“, upstream: „http://192.168.23.5:3777/api/“, host: „symcon.domain.de
2023/01/22 10:27:28 [error] 370#370: *255367 upstream prematurely closed connection while reading response header from upstream, client: 172.21.0.1, server: symcon.domain.de, request: „POST /hook/ipsviewconnect/api/ HTTP/1.1“, upstream: „http://192.168.23.5:3777/hook/ipsviewconnect/api/“, host: „symcon.domain.de

Hat das sonst noch jemand?