Welche Möglichkeiten gibt es noch um HTTPS-Seiten mit AOO zuverlässig zu downloaden?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Welche Möglichkeiten gibt es noch um HTTPS-Seiten mit AOO zuverlässig zu downloaden?

Beitrag von balu »

Hallo liebe Gemeinde,

ich hab da mal wieder ein sehr interessantes Problem.

Betriebssystem: WinXP


Mit LO ab 4.x.x.x kann ich mit diesem Code eine bestimmte Web-Seite downloaden.

Code: Alles auswählen

Sub Tipico

    oDok = ThisComponent
    oTabelle1 = oDok.Sheets().getByName("TIPICO")
    oTabelle1.getCellRangeByName("A9").string = "Bitte warten"
wait 50
    sWWWadresse = "https://www.tipico.com/de/online-sportwetten/fussball/deutschland/1-bundesliga/g42301/"
    
    OS = GetGUIType() ' "Das Betriebssystem (interne Nr.) auslesen und der Variablen OS zuweisen."'

    if OS = 1 then        
        sUserHeimat = Environ("USERPROFILE") '"Wenn Windows, dann das Verzeichnis für das *BenutzerProfiel*"'
        sTrenner = "\"'"
    else
        sUserHeimat = Environ("HOME")' "Wenn nicht Windows, dann das Verzeichnis für *Home*"'
        sTrenner = "/"
    end if
    
    sTipicoLokal = sUserHeimat & sTrenner & "Tipico_lokal.html"

        if FileExists(sTipicoLokal) then '"Falls schon die lokal gespeicherte Datei existiert, dann jetzt löschen."'
            Kill (sTipicoLokal)            
        end if

    Filecopy sWWWadresse , sTipicoLokal ' "Der Datei download"'
        

    oTabelle1.getCellRangeByName("A9").string = "FERTIG. ERLEDIGT."

End Sub
Ist in der angehängten Beispieldatei.

Der gleiche Code (gleiche Datei) funktioniert aber unter AOO nicht wie gewünscht. Es wird wohl eine Datei angelegt mit dem vorgegebenen Namen, aber sie hat nicht den gleichen Inhalt, als wenn ich sie mit LO downloade. Sie ist co ca. ein fünftel kleiner als mit LO. Es fehlt da also so einiges an Inhalt.

Und wenn man sich die mit AOO gedownloaded Datei im Broswer anschaut, und weit nach unten scrollt, dann wird auch folgender Text angezeigt.
UPS!
DA IST WOHL
ETWAS SCHIEF GELAUFEN.
Interessant, das der Text dort überhaupt steht da er ja von der Web-Seite eingetragen wird, der in der LO Version nicht erscheint.


Die Filecopy Methode zum downloaden funktioniert ja als solches nicht schlecht. Aber ich befürchte das AOO unter gewissen Umständen(*) noch immer ein Problem mit dem HTTPS-Protokoll hat, und das schon seit OOo-Zeiten. LO kann wohl auch nicht seit Anbeginn damit richtig umgehen, da bis einschließlich zur 3.6.4.3er Version es dort auch Probleme gibt (selber mit diversen 3.x.x.xer getestet). Erst ab meiner LO 4.1.0 funktioniert es so wie es soll.

(*)
Es gibt aber auch HTTPS-Seiten wo AOO keine Zicken macht.
Mal ein Beispiellink:
https://www.wabeco-remscheid.de/rund-um ... utter.html
Ist auch in der angehängten Beispieldatei.

Eine zweite Möglichkeit wäre mit NAME...AS zu arbeiten, was aber wegen dem HTTPS auch nicht so richtig funktioniert.

Die dritte Möglichkeit hatte ich hier im Forum gefunden (der erste Beitrag).
Datei aus Internet herunter laden, ohne Browser zu öffnen
Das hatte ich unter AOO getestet, und es funktioniert.
Ich müsste das dortige Makro nur an meine Bedürfnisse anpassen. Jedoch kommt mir das irgendwie "Oversized" vor. Zumal ich noch nicht herausgefunden habe was da so alles ineinander greift und was davon wirklich nötig ist.


Ich verlange ja nicht von euch das ihr den Quelltext von der im Code gezeigten Seite untersucht oder analysiert, ich möchte nur wissen ob ihr vielleicht noch eine andere Methode kennt um zuverlässig auch in AOO HTTPS-Seiten zu downloaden?
Wenn nicht, so ist das auch nicht tragisch und ich passe mir dann halt den hier gefunden Code an.

Bin mal auf Eure Antworten gespannt, und freue mich auf sie. :)



Gruß
balu
Dateianhänge
Download-Beispiel_0.4.ods
(11.7 KiB) 333-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D