Laden...

Url-Link mit Referer?

Erstellt von Joe78 vor 9 Jahren Letzter Beitrag vor 9 Jahren 6.232 Views
J
Joe78 Themenstarter:in
6 Beiträge seit 2015
vor 9 Jahren
Url-Link mit Referer?

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

16.807 Beiträge seit 2008
vor 9 Jahren

Du kannst keine Header-Informationen in einem Link übergeben.

742 Beiträge seit 2005
vor 9 Jahren

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.

J
Joe78 Themenstarter:in
6 Beiträge seit 2015
vor 9 Jahren

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".

742 Beiträge seit 2005
vor 9 Jahren

Machs doch so wie ich gesagt habe 😉

EDIT: VERGISS was ich gesagt habe, meine Lösung löst das nur mit Cookies.

J
Joe78 Themenstarter:in
6 Beiträge seit 2015
vor 9 Jahren

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...

742 Beiträge seit 2005
vor 9 Jahren

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);

C
21 Beiträge seit 2013
vor 9 Jahren

Rufe die Website doch normal auf und lass dein Programm auf den Button klicken.

J
Joe78 Themenstarter:in
6 Beiträge seit 2015
vor 9 Jahren

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....

O
58 Beiträge seit 2013
vor 9 Jahren

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.

J
Joe78 Themenstarter:in
6 Beiträge seit 2015
vor 9 Jahren

@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.

1.696 Beiträge seit 2006
vor 9 Jahren

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

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

16.807 Beiträge seit 2008
vor 9 Jahren

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.

742 Beiträge seit 2005
vor 9 Jahren

Meine Lösung sollte doch funktionieren:

  1. Man erstellt eine Seite, die über den QueryString eine Url bekommt
  2. Auf diese Seite packst du eine iframe der Url (ohne Path und QueryString),

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.

16.807 Beiträge seit 2008
vor 9 Jahren

Gelesen, dass es wohl eher der Cookie/Session ist, der Probleme macht als der Referrer?

742 Beiträge seit 2005
vor 9 Jahren

Ja