I have a console app built on .NET 4 that uses the HttpClient
library (obtained via NuGet) to retrieve data from a public API over the internet. The console app sits behind a proxy. The Windows machine it sits on has the correct proxy settings in Internet Explorer. When the console application attempts to access the outside world it is given a 407 status - "proxy authentication required".
I've written no specific code to deal with a proxy yet. I'm assuming from the 407 error that the application is directing to the proxy no problem, but the proxy isn't authenticating the request.
My question is, is it possible to set the HttpClient to use the credentials of the logged in user to authenticate the proxy? If so, how?
var client = new HttpClient(webRequestHandler);
client.PostAsync(RequestUri, MyContent);
Advertisements. A Proxy server is an intermediary server between the client and the internet.
I managed to solve my problem very simply through proxy configuration in app.config.
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy usesystemdefault="True" />
</defaultProxy>
</system.net>
http://msdn.microsoft.com/en-us/library/dkwyc043.aspx
If you wanted to do the same programmatically you could use the following:
WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultNetworkCredentials;
(These objects are from the `System.Net' namespace).
Some more info from MSDN: http://msdn.microsoft.com/en-us/library/system.net.webproxy.getdefaultproxy.aspx
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With