Ich verwende diesen Code mit .NET 3.5 und erhalten Fehler "Der Remote-Server hat einen Fehler zurückgegeben: (407) Proxy-Authentifizierung erforderlich."Der Remote-Server zurückgegeben Fehler: (407) Proxy-Authentifizierung erforderlich
using (WebClient client = new WebClient())
{
WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials;
try
{
string webPageStr = client.DownloadString(URL);
Console.WriteLine("OK");
}
catch (Exception ex)
{
Console.WriteLine("FAIL");
Console.WriteLine(ex.Message);
}
}
Allerdings funktioniert dieser Code reibungslos mit .NET 4.0, da diese Linie ausreicht, um die Proxy-Authentifizierung zu übergeben, während es nicht für .NET 3.5 ist.
WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultCredentials;
Deshalb habe ich versucht, viele andere Möglichkeiten, dieses Problem zu lösen, aber keiner von ihnen arbeitet:
1) ersetzen CredentialCache.DefaultCredentials Linie mit
WebRequest.DefaultWebProxy.Credentials = new NetworkCredential(user, password, domain);
2) Erstellen Sie neue Proxy-Objekt
IWebProxy proxy = new WebProxy(proxyUrl, port);
proxy.Credentials = new NetworkCredential(user, pass, domain);
client.Proxy = proxy;
client.Credentials = new NetworkCredential(user, pass, domain);
3) Fügen Sie diese Zeile
hinzuclient.UseDefaultCredentials = true;
4) Verwenden Sie HttpWebRequest anstelle von WebClient, und wiederholen Sie alle oben genannten Schritte. Dies ist ein Beispielcode.
HttpWebRequest webRequest = WebRequest.Create(URL) as HttpWebRequest;
webRequest.Proxy = WebRequest.DefaultWebProxy;
webRequest.Credentials = new NetworkCredential(user, pass, domain);
webRequest.Proxy.Credentials = new NetworkCredential(user, pass, domain);
try
{
webRequest.GetResponse();
Console.WriteLine("OK");
}
catch (Exception ex)
{
Console.WriteLine("FAIL");
Console.WriteLine(ex.Message);
}
Ich fühle mich wie ich zu einer Sackgasse komme, da ich .NET 3.5 verwenden muss. Es muss einen Unterschied zwischen diesen beiden .NET-Versionen geben, die ich nicht kenne. Vielen Dank im Voraus.
Haben Sie jemals eine 3.5 Lösung gefunden? Ich laufe in die gleiche Sache, 4.0 Update sieht wie nur Option aus. –