Frage

Okay, so ist hier, was ich tue. Ich mache eine Anfrage an einen Server eine Datei herunter zu ziehen. Ich tue dies durch eine WebRequest auf der Website machen das die Antwort bekommen wie Sie normalerweise tun würde, obwohl ich einen 403 Fehler bekommen sagen, ich Berechtigungen nicht haben.

Das Problem ist, wenn ich die URL in Google Chrome Plug ich weitergeleitet und die Datei i nach unten angefordert kommt. Ich habe die URL auf anderen Browsern ausprobiert und erhalten die 403-Fehler.

Was ist Google Chrome zu tun, dass ermöglicht es den 403-Fehler zu umgehen? Ich habe versucht, den Google Chrome User Agenten verwenden, aber das hilft mir nicht.

Hilfe

War es hilfreich?

Lösung 3

Danke für die Hilfe. Keiner Ihrer Antworten half mir direkt, aber dank für den Versuch.

Mein Programm wurde versucht, eine Datei aus einem Server zu ziehen. Ich hatte herausgefunden, wie um die Authentifizierungsprobleme zu bekommen und die Datei auf dem Server zu finden, während Chrome verwenden. Es stellt sich heraus, dass ihre Web-Service weiter fortgeschritten Benutzer-Sessions verwenden.

Im Grunde habe ich keinen Zugriff auf die Befehle webservice haben, also alles, was ich ist es, die grundlegenden http-URLs verwenden, tun könnte eine vordefinierte Antwort zu erhalten. Die Dateien URL, die ich verwenden, um die Datei des Servers zu bekommen war nicht eindeutig, es war dynamisch in Abhängigkeit von dem Web-Browser / der Sitzung. Ich war mit dem Httprequest Objekt die HTML-Datei zu bekommen, damit ich es nicht analysieren. Mit der HTML-Datei i analysiert es die dynamische ID der Datei herausfinden (Ich dachte, es war einzigartig). Dann würde ich das Ende einer URL anhängen. In Chrome würde ich mit dem Download prompt umgeleitet und präsentiert werden. Das Problem war, dass ich das Web-Browser-Objekt benötigt, wenn ich wollte, um die Datei herunter ziehen. Zu wissen, ich das Web-Browser-Objekt diese verwendet, um die Datei-ID zu bekommen, verwendete dann das gleiche Web-Browser-Objekt (Technisch gleiche Sitzungen nach dem Webserver), um die Datei herunter zu ziehen.

Es ist ziemlich kompliziert. Im Grunde genommen mein Programm ist ein wenig Hack, die Funktionalität bereitstellt, die der Server Block versuchen.

Hope dies unterstützt euch in jeder Ihrer zukünftigen Projekte.

Andere Tipps

Möglicherweise ist der Web-Server erkennt den User-Agent Chrome und ermöglicht die Datei durch heruntergeladen werden, aber nicht von anderen Benutzeragenten. Richten Sie Ihre WebRequest die gleichen User-Agent-Strings und Einstellungen wie Google Chrome verwenden -. Standardmäßig, es könnte die IE-Einstellungen werden mit

Edit: Hier ist Anweisung von MSDN darüber, wie gesetzt den WebRequest Zeichenfolge Benutzeragenten. Um den User-Agent von jedem Browser zu ermitteln, geben Sie diese in die Adressleiste ein:

javascript:prompt('my user agent string is', navigator.userAgent);

Die 403 Statuscode zeigt die Ressource Sie versuchen, zu erreichen ist verboten. Wie in, fragen Sie nicht, weil Sie es nicht, wenn es darum. Dies unterscheidet sich von dem 401-Code in die eine Autorisierung Herausforderung präsentiert wird, bevor der Server Auslieferung der Ressource bestätigen wird.

Während diese programmatische Konfiguration sein könnte, könnte dies auch durch Zugriffsbeschränkungen auf der Ressource erklärt werden, wie durch den Webserver konfiguriert ist.

Können Sie überprüfen, ob die heruntergeladene Ressource in Google Chrome ist die erwartete Ressource, die Sie zu erreichen sind versuchen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top