2009-05-27 13 views
7

Ich entwickle ein Twitter-Messaging-Dienstprogramm mit Twitter API (twitterizer). Da ich jedoch in einem Unternehmens-Proxy bin, erhalte ich den Fehler '407 Proxy Authentication Required'. Gibt es eine Möglichkeit, den Benutzer vor dem Aufruf der API zu authentifizieren oder die Standard-Proxy-Einstellungen zu verwenden?Proxy-Authentifizierung in .NET - für externe API

P.S Intern verwendet die API HttpWebRequest.

Antwort

9

Dies beantwortet Ihre Frage nicht. Aber der Fehler, den Sie erhalten, ist eindeutig ein Proxy-Authentifizierungsfehler.

Sie können den Proxy entweder deaktivieren oder aktivieren.

Um den Proxy in der Datei App.config fügen Sie die folgende Konfiguration

<system.net> 
    <defaultProxy enabled="false" useDefaultCredentials="false"> 
    <proxy/> 
    <bypasslist/> 
    <module/> 
    </defaultProxy> 
</system.net> 

So aktivieren Sie den Proxy zu deaktivieren und die Standard-Proxy-Einstellungen zu verwenden (in IE angegeben) in dieser Konfiguration in Ihrer App.config

<system.net> 
    <defaultProxy enabled="true" useDefaultCredentials="true"> 
    <proxy/> 
    <bypasslist/> 
    <module/> 
    </defaultProxy> 
</system.net> 
+1

Vielen Dank! Ich bin in der Lage, die Standard-Proxy-Einstellung mit useDefaultCredentials = "true" zu verwenden Ich wusste das nicht ... Danke! – devnull

3

Eine der möglichen programmatischen Lösungen ist folgende Proxy zu erstellen:

IWebProxy proxy=HttpWebRequest.GetSystemWebProxy(); 
proxy.Credentials = CredentialCache.DefaultCredentials; 

und dann jedem Objekt zuweisen, das den Netzwerkanruf tätigt und einen Proxy akzeptiert, z. B .:

WebClient client = new WebClient();
client.proxy = Proxy;