ATD
ATD

Reputation: 894

Basic Auth not working when trying to get raw contents from BitBucket?

I'm trying to download file contents from Bit Bucket, but I keep getting a "Log In" page as a response. I'm providing credentials with Basic Auth. Is this a C# specific issue? Everything works fine if I try it via Postman. Code Below.

var url = "https://[BITBUCKET_DOMAIN]/projects/[ID]/repos/[REPO]/raw/[PATH_TO_MY_FILE]"

var uri = new Uri(url);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
string userName = "user";
string password = "pw";
request.PreAuthenticate = true;
request.Credentials = new NetworkCredential(userName, password);
request.Accept = "text/plain";

string result;

using (var response = request.GetResponse())
using (var stream = response.GetResponseStream())
using (var reader = new StreamReader(stream))
{
    result = reader.ReadToEnd();
}

return result;

Upvotes: 1

Views: 534

Answers (1)

ATD
ATD

Reputation: 894

This top answer here worked for me.

HttpWebRequest using Basic authentication

        String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(userName + ":" + password));
        request.Headers.Add("Authorization", "Basic " + encoded);

Upvotes: 1

Related Questions