Aktuelle Beobachtung Feed von weather.gov verboten (403)

7

Weather.gov Aktuelle Beobachtungs-Feeds haben plötzlich für alle Anfragen von einem HTTPClient zu versagen begonnen, und ebenso habe ich beobachtet, dass viele Websites im Internet, die AJAX verwenden, um an weather.gov zu telefonieren, ebenfalls versagen.

>

Das Ergebnis aller Aufrufe von weather.gov aktuellen Beobachtungs-Feeds, z. Ссылка , geben Sie eine 403 zurück. Diese URL wird in einem Browser ordnungsgemäß aufgelöst.

    
Jim Speaker 17.09.2015, 22:40
quelle

4 Antworten

14

Die Kontaktaufnahme mit weather.gov führte zu einer wirklich schnellen Antwort:

  

Anwendungen, die auf die Ressourcen von weather.gov zugreifen, müssen nun folgendes bereitstellen: a   User-Agent-Header in jeder HTTP-Anfrage. Anfragen ohne Benutzeragenten   werden automatisch blockiert. Wir haben diese Nutzungsrichtlinie fälschlicherweise implementiert   zu einer kleinen Anzahl von Kunden, die Ressourcen nutzen, die weit über das hinausgehen   die meisten würden vernünftig halten.

     

Wir empfehlen, eine User-Agent-Zeichenfolge im folgenden Format anzugeben:

     

ApplicationName / vX.Y ( Ссылка ; [email protected])

     

Dies wird Ihre Anwendung eindeutig identifizieren und es uns ermöglichen   kontaktieren Sie und arbeiten mit Ihnen, wenn wir abnormale Anwendung beobachten   Verhalten, das zu einem Block führen kann.

     

Bitte zögern Sie nicht, uns eine E-Mail zurück zu schicken, wenn Sie weiterhin Probleme haben   Überprüfen, ob Ihre Anwendung die richtigen Header sendet.

     

Danke für die Verwendung von weather.gov.

=======

Hier ist ein Ausschnitt aus C # -Code. Das Wichtigste ist, dass Sie das Anforderungsobjekt erstellen müssen, bevor Sie eine benutzerdefinierte User-Agent-Zeichenfolge anfügen, bevor Sie den Anruf tätigen.

%Vor%

Hoffe, das hilft Leuten. Prost

    
Jim Speaker 17.09.2015, 22:40
quelle
2

Das ist großartig, aber Sie können "User-Agent" nicht einstellen, wenn Sie ein XMLDocument verwenden und Load () wie folgt aufrufen (das hat früher funktioniert):

%Vor%

Stattdessen müssen Sie jetzt einen GET durchführen und dann den User-Agent auf Ihr Unternehmen oder Ihre E-Mail setzen und dann das XmlDocument wie folgt verwenden:

%Vor%     
R-TEC Guru 02.10.2015 01:15
quelle
2

Auf der anderen Seite finden Sie das aus Etüde 12-1 von Etüden für Elixir , hier ist, was für mich gearbeitet hat

%Vor%     
pwan 23.01.2016 03:05
quelle
1

Ich hatte das gleiche Problem, verwendete jedoch PowerShell. Hier können Sie den Benutzeragenten mithilfe von HttpWebRequest festlegen.

%Vor%     
C.Plock 29.10.2015 19:47
quelle

Tags und Links