尝试从BitBucket获取原始内容时,Basic Auth无法正常工作?

问题描述 投票:0回答:1

我正在尝试从Bit Bucket下载文件内容,但我不断收到“登录”页面作为回复。我正在使用Basic Auth提供凭据。这是C#特有的问题吗?如果我通过Postman尝试它,一切正常。代码如下。

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;
c# web bitbucket bitbucket-api
1个回答
0
投票

这个最佳答案对我有用。

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);
© www.soinside.com 2019 - 2024. All rights reserved.