Synape: Internetseite auslesen?

Rund um die LCL und andere Komponenten
TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: Synape: Internetseite auslesen?

Beitrag von TT73GP7 »

hmm

irgendwie komme ich mit dem FClientCertificate aus deinen Link nicht klar
a kennt er das nicht und b finde ich auch nix dazu :(

stehe da auch etwas auf dem schlauch :(

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Synape: Internetseite auslesen?

Beitrag von m.fuchs »

Unwahrscheinlich dass du Client-Zertifikate brauchst, dafür habe ich dir auch nicht den Link gesandt. Meine zweite Frage hast du nicht beantwortet: steht deinem Programm OpenSSL zur Verfügung?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: Synape: Internetseite auslesen?

Beitrag von TT73GP7 »

nein ich wüsste nicht wie ich es zur verfügung stellen soll

ich habe OpenSSL mal für ein anderes projekt runtergeladen (vor 100 jahren)
ich weiß das ich das irgendwie ins windows verzeichniss schieben muss (wurde auch getan)

mehr weiß ich nicht

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Synape: Internetseite auslesen?

Beitrag von m.fuchs »

TT73GP7 hat geschrieben:nein ich wüsste nicht wie ich es zur verfügung stellen soll

Deswegen war der Link in meinem Beitrag. Sogar mit Direktlink auf die passende Stelle:

http://wiki.freepascal.org/fphttpclient#HTTPS_.28TLS.2FSSL.29 hat geschrieben:Since April 2014, the trunk/development fphttpclient supports SSL/TLS connections using the OpenSSL library (will ship with version 2.8.0 and above). This requires the OpenSSL .so/.dll/.dylib library/libraries to be installed (e.g. present in your application or system directory on Windows).
If you do not use client side certificates, just specifying the proper port (e.g. 443 for https) is enough to enable TLS/SSL as long as you have OpenSSL libraries installed (or e.g. in the application directory)


TT73GP7 hat geschrieben:ich habe OpenSSL mal für ein anderes projekt runtergeladen (vor 100 jahren)
ich weiß das ich das irgendwie ins windows verzeichniss schieben muss (wurde auch getan)

Naja, ist es wirklich da? Liegt es an der richtigen Stelle? Ist es eine veraltete Version?

Besorg dir am besten mal die aktuelle DLL und pack sie direkt in das Verzeichnies wo deine .exe drin liegt.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: Synape: Internetseite auslesen?

Beitrag von TT73GP7 »

ahhhhaaaaa

da muss eine dll direkt dahin wo die exe liegt
und ich dömel dachte immer in win32 ordner

ok hab sie nun reingepackt und prompt auch eine andere Fehlermeldung bekommen
Fehlermeldung: "Unexpected response status code: 401."

also antwortet der Server unter der URL die so nicht "https://rest.immobilienscout24.de/restapi/api/gis/v2.0/geoautocomplete/DEU?i=10557%20Strasse%20des&t=ALL"

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Synape: Internetseite auslesen?

Beitrag von m.fuchs »

Klaro antwortet er, mit 401 eben. Du müsstest vorher noch den Authentication-Prozess durchlaufen:

https://api.immobilienscout24.de/useful ... ation.html

Eventuell gibt es für OAuth bereits eine fertige Klasse/Bibliothek. Das weiß ich grad nicht.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Synape: Internetseite auslesen?

Beitrag von malabarista »

TT73GP7 hat geschrieben:hmm

warum sollte sich eine Seite nicht auslesen lassen?

das mit der Grafik kann natürlich sein da ich in quellcode schon nach dem Wort Treffer gesucht habe und nix gefunden habe.


ganz einfach: weil sie merkt, dass da eine Software liest und nicht ein Mensch.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Synape: Internetseite auslesen?

Beitrag von m.fuchs »

malabarista hat geschrieben:
TT73GP7 hat geschrieben:warum sollte sich eine Seite nicht auslesen lassen?

ganz einfach: weil sie merkt, dass da eine Software liest und nicht ein Mensch.

Bitte nicht irgendwelchen Unfug schreiben, irgendjemand glaubt das dann noch.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Synape: Internetseite auslesen?

Beitrag von malabarista »

sorry, ist kein Unfug.
Es gibt Seiten, die versuchen beim Aufruf ein Cookie zu schreiben und wenn das nicht klappt, dann schliessen die daraus: das ist kein Mensch. z.b. amazon

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Synape: Internetseite auslesen?

Beitrag von m.fuchs »

Selbstverständlich ist es Unsinn. Die Kommunikation eines Webservers mit einem Webbrowser ist eine Maschine-zu-Maschine-Kommunikation. Ein Unterschied zu einer anderen Software ist nicht feststellbar, sofern die Software alle Sachen implementiert wie ein Webbrowser. Was ja auch im ursprünglichen Fall das Problem ist, es fehlte das ganze AJAX-Geraffel.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Synape: Internetseite auslesen?

Beitrag von malabarista »

Nein.

>sofern die Software alle Sachen implementiert wie ein Webbrowser< eben: das tut die einfache Lese-Software (um die es hier geht) im allgemeinen nicht.

Wenn ich mit einer Software eine Webseite auslese, statt mit dem Browser, kann diese Webseite (normalerweise) kein Cookie abspeichern. Wenn ich sie mit dem Browser auslese (und habe dort Cookies erlaubt), kann sie Cookies speichern.
Und genau dieses unterschiedliche Verhalten nutzen manche Webseiten um zwischen Mensch und Machine zu unterscheiden.
Lies mal eine amazon-Seite mit einem get- oder anderem Lesebefehl(file_get_contents, o.ä.) aus und ruf sie mal per Hand im Browser auf: du wirst einen deutlichen Unterschied sehen.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Synape: Internetseite auslesen?

Beitrag von m.fuchs »

malabarista hat geschrieben:Wenn ich mit einer Software eine Webseite auslese, statt mit dem Browser, kann diese Webseite (normalerweise) kein Cookie abspeichern. Wenn ich sie mit dem Browser auslese (und habe dort Cookies erlaubt), kann sie Cookies speichern.
Und genau dieses unterschiedliche Verhalten nutzen manche Webseiten um zwischen Mensch und Machine zu unterscheiden.


Sorry, ich muss dir widersprechen. Ein Cookie wird nicht gespeichert, er wird per HTTP-Header mitgesendet. Oder in seltenen Fällen per Javascript im Browser gesetzt. Die Rückübertragung erfolgt wieder per HTTP.
Wie der Client den Cookie bei sich ablegt ist dem Client vorbehalten. Daher kann

malabarista hat geschrieben:>sofern die Software alle Sachen implementiert wie ein Webbrowser< eben: das tut die einfache Lese-Software (um die es hier geht) im allgemeinen nicht.

Es ist durchaus nicht unüblich, dass Cookie-Technologie in HTTP-API eingesetzt werden. Das ist auch nur Maschine-zu-Maschine-Kommunikation. Übrigens genau die Art von Kommunikation, die der OP hier durchführen möchte.
Das könnte man auch problemlos nachbauen. Es ist aber nicht notwendig weil ImmoScout auch API anbietet.

malabarista hat geschrieben:Lies mal eine amazon-Seite mit einem get- oder anderem Lesebefehl(file_get_contents, o.ä.) aus und ruf sie mal per Hand im Browser auf: du wirst einen deutlichen Unterschied sehen.

Das hat nicht mit Cookies zu tun, sondern damit dass Javascripts geladen werden die weitere Requests machen. Wenn ich mit meinem Programm diese Requests durchführe erhalte ich die gleichen Daten. Mann muss es halt nur machen.

Zu dem Thema ist auch dieser Thread empfehlenswert, da geht es nämlich um die gleiche Problematik.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Antworten