Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 17.07.2009, 23:40 Titel: Daten von Webseiten downloaden |
|
|
Guten Abend allerseits,
ich bin gerade dabei ein Programm zu schreiben, dass sich Inhalte von Webseiten bzw. die ganzen Seiten in HTML per URLDownloadToFile(...) runterlädt. Das funktioniert prima bei Seiten wie z.B. Google.de aber nicht bei Seiten, wo eine Anmeldung pflicht ist. Nun meine Frage: ist es möglich sich auf einer Webseite über ein selbstgeschriebenes Programm anzumelden um dann ihre Inhalte runterladen zu können?
Liebe Grüße _________________ Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 18.07.2009, 00:13 Titel: |
|
|
Dazu musst du dich mit den grundlegenden Funktionen des HTTP-Protokolls auseinandersetzen. Zum Glück gibt's ja dazu genügend Beispiele dank der TSNE-Lib, unter anderem auch zu Cookies. Forensuche hilft. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 18.07.2009, 11:38 Titel: |
|
|
Also ich habe mir die TSNE.Lib runtergeladen und dazu ein Beispiel zur Verwendung von Cookies. Allerdings bin ich daraus kaum schlauer geworden. Außerdem habe ich mir noch ein paar Seiten zu HTTP angeschaut und herausgefunden, dass der Befehl "POST" mir bei meinem Problem helfen könnte. Nun steht da aber, dass man einen bestimmten Content-Typ angeben muss. Hat jede Webseite ihre eigenen Contentent-Typen oder sind diese allgemein gültig?
Mein Ziel ist es, dass der Benutzer seinen Usernamen und sein Passwort in mein Programm eingeben kann, sodass dieses den Benutzer dann an einer zuvor auch angegeben Webseite anmelden kann und dann bei Bedarf den Inhalt der Webseite downloaden kann. Wäre echt klasse, wenn mir jemand ein Beispiel zeigen könnte, das die Aufgabe, wie beschrieben, ausführen kann. _________________ Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 18.07.2009, 13:57 Titel: |
|
|
Es gibt keinen Allgemeingültigen Login-Mechanismus... Du kannst aber mit dem Firefox-Addon Live HTTP Headers z.B. dir ansehen, was dein Browser für HTTP-Header an eine Webseite schickt. POST-Daten (also das nach dem Doppelten Zeilenumbruch) zeigt er glaub ich nicht an (nicht sicher), aber das ist ja auch ganz einfach selbst rauszufinden (alle Eingabefelder des Formulars übertragen, also in etwa "name=ich&passwort=geheim&remember_me=1" oder sowas in der art. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 18.07.2009, 14:07 Titel: |
|
|
Okey, danke Das Addon funktioniert gut und bringt auch einiges an Klarheit. ich werde mich jetzt mal daran versuchen mein Vorhaben umzusetzen. Allerdings habe ich noch eine Frage: Du sagtest vorhin etwas von Cookies: Sind die wirklich davühr nötig? Denn wie ich das sehe ist ja nur der POST-Befehl von Relevanz. _________________ Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 18.07.2009, 15:36 Titel: |
|
|
Viele Seiten stellen über die Cookies fest, ob schon ein gültiger Login-Vorgang stattgefunden hat. Nach dem Login bekommst du dann eine Session-ID, welche von der Seite intern verwaltet und bei dir lokal gespeichert wird (eben im Cookie); diese Session-ID wird dann bei jedem weiteren Seitenaufruf mit übergeben, um sich zu identifizieren.
Wenn die Seite die ID-Übergabe mittels GET unterstützt, kannst du natürlich auch damit arbeiten. Ich nehme aber an, dass du die ID trotzdem (oft) nur als Cookie-Erstellbefehl zurückgeliefert bekommst? _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 22.07.2009, 13:33 Titel: |
|
|
Okey, anscheinend komme ich um Cookies nicht herum. Macht es eigentlich einen Unterschied wenn sich die Daten auf einer https:// Seite befinden? _________________ Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 22.07.2009, 15:44 Titel: |
|
|
Ja...
Les dir mal den Wiki Artikel zu HTTPS durch, und schau dir mal OpenSSL an... |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 22.07.2009, 16:06 Titel: |
|
|
Je nachdem ob du auch mit einem Browser an deine Zieldaten heramkommen kannst/willst, kannst du es genauso mal mit dem Disphelper probieren http://www.freebasic.net/forum/viewtopic.php?t=7890 (ich weiss nicht genau worums in dem beitrag geht, aber da kann man ein bischen draus erkennen wie es grundsätzlich funktionieren kann)
Prinzipiell kann man damit den MS-Internet-Explorer fernsteuern und auch dessen Seiten auslesen.
So könntest du z.B. den Login der Seite aufrufen, damit sich den Benutzer einloggen kann und dann den Internet-Explorer unsichtbar machen und alle daten ziehen die du brauchst.
Dann kümmert sich der Internet-Explorer um die Cookies...
Wenn aber der login automatisch erfolgen soll, ist ein bischen kenntnis über den Seitenaufbau nötig. So musst du dann die entsprechende URL mit den richtigen parameter aufrufe damit er sich automatisch einloggt... und die richtigen parameter werden oft über POST-Anweisungen in den Login-Scripten übergeben.. und die sind dann von aussen dem anwender nicht sichtbar..
Aber wie so oft.. mit tricks kommt man an alles ran  |
|
Nach oben |
|
 |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 22.07.2009, 18:03 Titel: |
|
|
OneCypher hat Folgendes geschrieben: |
Prinzipiell kann man damit den MS-Internet-Explorer fernsteuern und auch dessen Seiten auslesen. | Auch 'ne Möglichkeit Aber darauf werde ich erst zurückgreifen, wenn es partout nicht anders geht.
Ich habe mich ein bisschen über OpenSSL informiert aber allem Anschein nach verfügt FB nicht über die Header dazu. Vorhin habe ich etwas im englischsprachigen Forum gefunden, wo die "curl.bi" erwähnt wurde - allerdings ohne Beispiel. Die Beispiele, die im Examples Ordner zu finden waren ließen sich leider nicht kompilieren. _________________ Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein. |
|
Nach oben |
|
 |
Caran

Anmeldungsdatum: 11.03.2007 Beiträge: 290 Wohnort: Lörrach
|
Verfasst am: 27.07.2009, 09:53 Titel: |
|
|
Entschuldigt den Doppelpost. Aber gäbe es nicht auch eine Möglichkeit in Dateien über Firefox runterzuladen?
Also mit Hilfe einer .bat Datei:
Code: |
start firefox.exe -download <url>
|
_________________ Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein. |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 27.07.2009, 10:32 Titel: |
|
|
per kommandozeile wüsste ich es nicht.. Aber per kommandozeile kann man "wget" ganz gut bedienen. Aber mit cookies hab ich damit bisher nicht erfolgreich arbeiten können.
Was prinzipiell funktionieren sollte, ist die Engine von F.F. per ActiveX zu benutzen. Das hab ich aber noch nicht realisieren können.. schick wäre das auf jeden fall! Falls du in der richtung was hin bekommst, lass mich wissen wie! |
|
Nach oben |
|
 |
|