Abrufen eines PHP-Dokuments auf lima-city gibt Error 403
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
abrufen
agent
code
feststelle
file
folgenden fehler
header
http
message
minute
problem
programm
rufen
setting
string
system
tag
typ
url
versuchen
-
Guten Tag!
Ich möchte alle 30 Minuten ein PHP-File auf meiner lima-city Website aufrufen.
Dazu habe ich mir in C# ein Programm geschrieben.
So rufe ich das PHP-File auf:
WebClient wc = new WebClient();
result = wc.DownloadString(upSign);
in der Variable upSign befindet sich die URL für mein PHP-File.
Leider gibt dies bei der Durchführung immer folgenden Fehler:
In System.Net.WebException ist eine Ausnahme vom Typ "System.dll" aufgetreten, doch wurde diese im Benutzercode nicht verarbeitet.
Zusätzliche Informationen: Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wo die Exception herkommt, kann ich dir nicht sagen. Warum du vermutlich einen 403 bekommst ist, dass du sicher keinen gültigen UserAgent mitsendest. Das solltest du machen wie hier beschrieben:
http://stackoverflow.com/questions/11841540/setting-the-user-agent-header-for-a-webclient-request -
Ich habe jetzt das hinzugefügt:
wc.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
Es geht aber leider immer noch nicht, der 403 kommt jedes Mal :( -
Hallo zusammen,
wie wäre es mit dem Quellcode und/oder der genauen Exception?
MfG Trancer.
EDIT:
Also mit diesem Consolen-Test-Programm habe ich keine Probleme feststellen können,
NUR wenn ich den WebClient doppelt verwende(, was man aber nicht machen sollte).
static void Main(string[] args) { try { WebClient client = new WebClient(); client.Headers.Add(HttpRequestHeader.UserAgent, ".net 4.0 full"); string result = client.DownloadString("http://jgherb.lima-city.de/upsign.php"); Console.WriteLine(result); } catch (Exception ex) { Console.WriteLine(ex.Message + Environment.NewLine + ex.StackTrace); } Console.ReadLine(); }
Beitrag zuletzt geändert: 27.6.2015 11:24:35 von trancedrome -
onlinevideorecorder schrieb:
Du kannst es auch mit HttpWebRequest und HttpWebResponse versuchen.
Das stimmt, wäre von Vorteil, wenn du dazu auch ein Beispiel lieferst.
Den das Problem bleibt, dass wenn man bei Lima eine Page abrufen will, brauchst du ein UserAgent (habe ich bereits in jeder Form ausprobiert). -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage