System.Net.WebClient doesn't work with Windows Authentication

Posted by Peter Hahndorf on Stack Overflow See other posts from Stack Overflow or by Peter Hahndorf
Published on 2009-06-23T01:10:14Z Indexed on 2010/06/17 23:33 UTC
Read the original article Hit count: 1148

Filed under:
|
|

I am trying to use System.Net.WebClient in a WinForms application to upload a file to an IIS6 server which has Windows Authentication as it only 'Authentication' method.

WebClient myWebClient = new WebClient();
myWebClient.Credentials = new System.Net.NetworkCredential(@"boxname\peter", "mypassword"); 
byte[] responseArray = myWebClient.UploadFile("http://localhost/upload.aspx", fileName);

I get a 'The remote server returned an error: (401) Unauthorized', actually it is a 401.2

Both client and IIS are on the same Windows Server 2003 Dev machine.

When I try to open the page in Firefox and enter the same correct credentials as in the code, the page comes up. However when using IE8, I get the same 401.2 error.

Tried Chrome and Opera and they both work.

I have 'Enable Integrated Windows Authentication' enabled in the IE Internet options.

The Security Event Log has a Failure Audit:

Logon Failure:
    Reason:		An error occurred during logon
    User Name:	peter
    Domain:		boxname
    Logon Type:	3
    Logon Process:	ÈùÄ
    Authentication Package:	NTLM
    Workstation Name:	boxname
    Status code:	0xC000006D
    Substatus code:	0x0
    Caller User Name:	-
    Caller Domain:	-
    Caller Logon ID:	-
    Caller Process ID:	-
    Transited Services:	-
    Source Network Address:	127.0.0.1
    Source Port:	1476

I used Process Monitor and Fiddler to investigate but to no avail.

Why would this work for 3rd party browsers but not with IE or System.Net.WebClient?

© Stack Overflow or respective owner

Related posts about iis

Related posts about webclient