hi,
ich hoffe ich bin hier richtig ! ich versuchs einfachmal.
ich bin programmieranfänger ! ich bin am basteln einer shell-anweisung, welche mir den aktuellen bahn-fahrplan, nach eingabe von start und ziel zurück geben soll.
habe nun ein problem mit der uri, gebe folgendes ein :
http://www………?start=köln+hauptbahnhof&ziel=berlin+hauptbahnhof& auswahl_start=1&auswahl_ziel=3&button=verbindung+suchen
bekomme aber leider nicht meine erhoffte seite zurück, die seite wo meine information steht sieht folgender maßen aus:
http://www……..?ld=planet22&seqnr=1&ident=ld.0150472.1137077476&OK#focus
ich bin mir dessen bewußt das es sich hierbei um ein Session-Meschanismus handelt handelt,
habe ich eine möglichkeit auf die seite zuzugreifen, würde mich freuen wenn mir jemand sagen könnte wie ???
Über eure hilfe wäre ich sehr dankbar
gruß flyingt
“curl” kann sehr wohl HTTP-GET-Requests aus dieser Syntax erzeugen.
curl https://www.linux-community.de/Neues/story?storyid=18900 liefert z.B. diese Seite zurück. http://reiseauskunft.bahn.de kann man aber nicht so einfach parametrieren, da per GET nur ein Sessionkey übertragen wird, die Formulardaten also per POST übermittelt werden sollten. Auch das geht mit curl.
Leider hat der OP nicht geschrieben, welches Programm er benutzt.
Jan
Ich habe mir mal den Quelltext der Seite http://reiseauskunft.bahn.de angesehen. So im ersten Anlauf – und eingedenk dessen, dass Datums und Zeitfelder anscheinend per integriertem Javascript ausgefüllt werden – scheint mit der zu treibende Aufwand in keinem guten Verhältnis zum Effekt zu stehen.
hi,
erstmal danke für die rasche antwort !
habe mir eine shell anweisung geschrieben welche mir zb. ein restaurant nach eingabe von einem wunsch-ort liefert :
#! /bin/bash
#PLZ=$….
wget -O /tmp/rest “http://www.rz1.dastelefonbuch.de/?kw=restaurant&st=wichernstrasse&ort=frankfurt+main&s=b10000&stype=U&la=de&cmd=search&ort_ok=0&vert_ok=0&cy=&radius=500/”
grep ….
sed …..
mit grep und sed hole ich mir dann meine Information von der seite.
wollte nun auch nach diesem muster mit meiner neuen anfrage verfahren
http://www.rmv.de/auskunft/bin/jp/query.exe/dn?L=vs_rmv&wai=yes&REQ0JourneyStopsS0A=2&REQ0JourneyStopsS0G=Heddesheim+bahnhofstr.+1&REQ0JourneyStopsZ0A=2&REQ0JourneyStopsZ0G=frankfurt+main+konstablerwache1&start=Verbindung+suchen
aber wie gesagt, bekomme leider nicht wie im ersten fall bei der übergabe der parameter, die gewünschte seite.
habe mich bereits in php eingelesen um zu verstehen wie dynamische seiten aufgebaut sind, komme aber leider nicht weiter.
über weitere tipps bin ich sehr dankbar
gruß stipe
Mit wget kann man auch POST-Requests verschicken. Dazu braucht man die option –post-data, anstatt der ?xxx=yyy-Syntax.
php…, um zu verstehen wie dynamische seiten
Falsch. Du musst verstehen, wie HTTP funktioniert. PHP ist eine serverseitige Möglichkeit, HTTP-Antworten (aka HTML-Seiten) per Programm zu generieren, statt fertige Dateien von der Platte zum Client zu schicken. Damit hast du auf der Clientseite gar nichts zu schaffen. Nebenbei benutzt die Bahn offensichtlich gar kein PHP, sondern was selbstgestricktes.
Lies dir mal das RFC unten durch. Ist lang, aber durchgehend interessant.
Jan
[1] http://www.faqs.org/rfcs/rfc2616.html
hi,
wollte mich nochmals für die unterstützung bedanken, habe mein problem “curl” lösen können.
gruß stipe
Aha. Vielleicht würden die Hilfesteller und andere interessierte Leser auch noch wissen WIE Du das Problem gelöst hast? Nur mal so als praktizierte Open-Source-Geste ….
hi,
ein wenig spät gesehen, aber bin nicht auf die idee gekommen meinen quellcode rein zu stellen.
also hier kurz die lösung, durch eingabe von ziel und start bekommt man eine fahrplanauskunft zurück.
#! /usr/bin/php
zweites skript ( ist notwendig da man immer auf eine zwischenabfrage kommt )
#! /usr/bin/php
gruß stipe