1

我正在尝试开发一个c#将一些发送HttpWebRequestBitBucket API 的应用程序。
我正在尝试访问以下 URL。

https://bitbucket.org/api/1.0/repositories/MyUserName/MyRepo/changesets

C# 代码

string url = "https://bitbucket.org/api/1.0/repositories/MyUserName/MyRepo/changesets";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Credentials = new NetworkCredential("MyUserName", "MyPassword");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();  

这给了我403 error这意味着凭据是正确的,但这些凭据不会授予调用者访问资源的权限。

我不知道如何解决这个问题。我想某些配置必须在 bitbucket 中进行,但不知道。我是这个存储库的所有者。

请给我建议。

4

2 回答 2

2

添加如下标题可以解决我的问题。

request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes("username:password")));
于 2013-06-12T09:26:46.957 回答
0

这并不意味着凭据是正确的。

您不能以这种方式使用 NetworkCredential。请阅读描述NetworkCredentials的唯一行

你必须:

于 2013-06-12T09:13:32.887 回答