Hallo,
ich habe eine Url einer Website, welche jedoch nur funktioniert, wenn man auf der Website zuvor die Suche danach bemüht hat.
In C# hab ich es geschafft über folgende Zeilen diesen direkt Link aus meinem Programm heraus aufrufen zu können:
WebClient client = new WebClient();
client.Headers.Add(HttpRequestHeader.Referer, "http://www.[website]/index.php?button=Suchen");
res = client.DownloadString(_link);
Nun würde ich aber gerne Informationen per Mail versenden, die diesen Link enthält, so dass der Empfänger der Mail nur auf den Link klicken braucht.
Dies klappt jedoch nicht, da nur das Schreiben des Links keine Daten zurückgibt, da kein Referer mit der Anfrage übergeben wird.
Gibst dafür eine Lösung ?
z.B. kann man einen URL-Link basteln, der die Referer Informationen übergibt?
Grüße
Joe
Du kannst keine Header-Informationen in einem Link übergeben.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Bist du sicher, dass es der Referer ist und kein Cookie?
Wenn es am Cookie hängt kannst du eine eigene Weiterleitungsseite machen und auf dieser in einem unsichtbaren iFrame die Startseite einbinden. Dann zeigst du den Text und leitest den Benutzer nach 5 Sekunden per Javascript automatisch weiter.
ImageTools for Silverlight: http://imagetools.codeplex.com | http://www.silverdiagram.net | http://www.cleancodedeveloper.de b:::
Ich habe mich etwas vertan. Der von mir geposteten Code mit dem Referer ist notwendig, damit ich Daten heruntergeladen bekomme. Ohne den Referer bekomm ich nur "error" als Response.
In meinem Programm gibst aber auch einen Button über den ich den Link geöffnet bekomme.
Dies mache ich aber mit folgendem Code:
string link = daten.Rows[e.RowIndex].Cells[12].Value.ToString();
string header = "Referer: http://[website]/index.php?button=Suchen";
webBrowser1.Navigate(link, "_blank", null, header);
Setze ich
header="";
dann bekomm ich wieder eine leere Website lediglich mit dem Text "error".
Machs doch so wie ich gesagt habe 😉
EDIT: VERGISS was ich gesagt habe, meine Lösung löst das nur mit Cookies.
ImageTools for Silverlight: http://imagetools.codeplex.com | http://www.silverdiagram.net | http://www.cleancodedeveloper.de b:::
gibst keine dreckige Lösung (also über Umwege)?
@malignate: versteh nicht was du meinst... klappt dein Vorschlag oder nicht?
Müsste mich dafür wahrscheinlich umfangreicher einlesen und testen...
Mit iFrame, Javascript und Cookies kenn ich mich nicht so aus...
Mir fällt keine Lösung ein. Bist du dir sicher, dass es nicht am Cookie hängt? Angenommen du öffnest die Suchseite, gehst dann auf eine andere Seite und danach zur Zielseite. Funktioniert das dann?
Wenn ja, kannst du eine eigene Html-Seite ins Netz stellen, die ein unsichbares iFame mit der Suchseite enthält und dann nach 5 Sekunden über javascript auf die eigentliche Seite weiterleitet:
setTimeout(function () {
window.location.href = '...';
}, 5000);
ImageTools for Silverlight: http://imagetools.codeplex.com | http://www.silverdiagram.net | http://www.cleancodedeveloper.de b:::
Rufe die Website doch normal auf und lass dein Programm auf den Button klicken.
Nochmal zu Erklärung:
Auf einer Website A starte ich eine Suche und erhalte auf der Unterseite B eine Liste von Ergebnissen. Zu jedem Ergebnis kann man einen Link C anklicken, der Details zu diesem Ergebniss auf einer neuen Website anzeigt.
Nun möchte interessante Suchergebniss-Links C per Mail weiterleiten, so dass der Empfänger nur auf den Link in der Email klicken braucht und dann auf der Detail-Ergebnisseite landet.
Mit meinem Programm bekomme ich alles automatisch hin, Unterseite B abrufen und auch Detailseiten C automatisch lesen. Nur wenn ich so einen Link C versende per Mail lässt sich dieser nicht direkt öffnen.
@malignate:
Hab die Suchseite geöffnet, mir einen Ergebnisslink kopiert, bin dann auf eine fremde Website gegangen und konnte anschließend den kopierten Ergebnislink aufrufen. Demnach scheint es am Cookie zu liegen. Allerdings wird mir deine Lösung denke ich nicht helfen. Denn zur Laufzeit meines Programms ergeben sich mitunter vielleicht 2-3 Links, die ich verschicken will. Damit deine Lösung klappt, müsste ich dynamisch diese html-Seiten erzeugen, da die Links ja immer unterschiedlich sind.
@Create:
Mir geht es darum, dass der Email-Empfänger(auf Smartphone oder WinPc) irgendwie direkt auf der gewünschten Website landet. Mein Programm hat keine Probleme das zu laden....
Scheint für mich ein Problem mit der Übergabe des Links zu sein
Wenn dieser in der E-Mail nicht korrekt ist bzw. nicht anklickbar ist.
Versendest du den Link in der E-Mail mit den <a href="LINK" /> Tag?
Evt. ist HTML nicht erlaubt bzw. deaktiviert.
Zur not würde ich einfach das Programm weglassen denn mit Php selbst ist selbiges ja auch zu erstellen. Natürlich auch für Smartphones.
Sofern das Programm nicht noch weitere Funktionen hat denn wenn es nur die Website aufrufen soll eine suchen starten auf der Website und die ergebnisse per Mail senden kannst du es ja auch einfach komplett in Php erledigen.
@Odin008:
das ist es leider nicht... Wenn ich in einem Browser direkt in die Adresszeile den direkten Link C eingebe, ohne vorher im Browser auf Website A und B gewesen zu sein, funktioniert es auch nicht, d.h. die Seite wird lediglich geladen mit dem Inhalt "error".
Wer es mal ausprobieren möchte kann es hier gerne testen:
Website A: http://www.zvg-portal.nrw.de/index.php?button=Termine%20suchen
Dort Bundeslang z.B. Berlin auswählen und "Suchen" klicken.
Website B: zeigt nun die Ergebnisse zu diesem Bundesland an.
Anschließend ein Aktenzeichen auswählen und anklicken -> somit gelangt man zu
Website C: wenn man sich den Link dieser Website kopiert und in einem anderen Browser direkt eingibt, erhält man eine "error" Seite.
Nun möchte interessante Suchergebniss-Links C per Mail weiterleiten, so dass der Empfänger nur auf den Link in der Email klicken braucht und dann auf der Detail-Ergebnisseite landet.
Mit meinem Programm bekomme ich alles automatisch hin, Unterseite B abrufen und auch Detailseiten C automatisch lesen. Nur wenn ich so einen Link C versende per Mail lässt sich dieser nicht direkt öffnen.
Das ist gewollt von dem Betreiber, um Quereinsteiger zu blocken. Es wird zum einen einen Referer mitgegeben, zum anderen irgendeinen Session-Wert geprüft, fehlen diese so wird zur Home umgeleitet. Ich glaube, dein Vorhaben kannst du vergessen. Denn selbst wenn du die Sache mit dem Referer hinkriegst, fällst du dennoch wegen der Session-Var auf die Schnauze 😁
Grüße
**:::
Irgendwie werden hier zwei Sachen vermischt.
Zum einen der Referer im HTTP Header und zum anderen ein Referrer in einer URL.
Und es ist nicht möglich - da könnt ihr euch drehen und wenden wie ihr wollt - den HTTP Referrer aus einem Link zu setzen oder gar aus einer EMail.
(in Deinem Beispiel der Header Referer:[http://www.zvg-portal.nrw.de/index.php?button=Suchen](http://www.zvg-portal.nrw.de/index.php?button=Suchen)
).
Es wird aber, so wie ich es sehe, nicht am Referrer liegen, denn Dein Vorgehen funktioniert auch mit deaktiviertem Referer im Browser (hat mich ganze 20 Sekunden gekostet!).
Es wird viel eher am Cookie liegen, den Du simulieren müsstest, was faktisch nicht funktionieren wird, wenn Du Dir nicht vorher die Daten aus den anderen Seiten holst.
Ich bezweifle auch, dass es erlaubt ist, was Du da vor hast, ansonsten würde so eine Maßnahme eigentlich kaum in Betracht gezogen werden.
Ziemlich sicher fällt das ganze auch unter das Urheberrecht; je nachdem, was Du damit anfangen willst.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Meine Lösung sollte doch funktionieren:
Bsp:
myredirect.com?url=[http://www.target.de/path?query...] (URL Encoded)
der iframe ist: <iframe src="http://www.target.de" style="width: 0; height: 0" />
Dann machst du nach 3000ms ein automatisches Redirect mit Jscript.
Das ist auch überhaupt nicht illegal oder problematisch, sondern meist einfach weil die Zielseite scheiße programmiert ist. Das ist denen auch wahrscheinlich gar nicht bewusst.
ImageTools for Silverlight: http://imagetools.codeplex.com | http://www.silverdiagram.net | http://www.cleancodedeveloper.de b:::
Gelesen, dass es wohl eher der Cookie/Session ist, der Probleme macht als der Referrer?
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Ja
ImageTools for Silverlight: http://imagetools.codeplex.com | http://www.silverdiagram.net | http://www.cleancodedeveloper.de b:::