OK, really not that secret.  Basic Authentication headers are pretty simple.  

When the server returns 401 and the header: WWW-Authenticate: Basic.  The server wants you to send the username and password in this format:  jeff:mypassword and then encode this as a Base64String.  You can encode this with this code: string secret = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("jeff:mypassword"));.  To decode a username and password from a header that you send (found in the Authorization: Basic" header) pass that string to this: string decodedSecret = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(secret));