1

一部をBitBucket APIc#に送信するアプリケーションを開発しようとしています。 以下のURLにアクセスしようとしています。 HttpWebRequest

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を説明している行だけを読んでください

必ず:

  • ログインプロセスをシミュレートします。
  • クッキーを取得する
  • CookiesAwareWebClient を作成 する
于 2013-06-12T09:13:32.887 に答える