2

C# で Google Reader の SID を取得する方法を示すコード フラグメントを探しています。そのような獣を知っている人はいますか?

4

2 に答える 2

2

とても簡単です。最初に、ログインとパスワードを使用してページへのGETリクエストを実行する必要があります (それらを URL エンコードすることを忘れないでください)。https://www.google.com/accounts/ClientLoginそして、応答を解析して(改行文字で区切られたいくつかのパラメータがあります\n)取得しますSID。最も簡単な例を次に示します (エラー処理なし)。

var url = string.Format("https://www.google.com/accounts/ClientLogin?service=reader&Email={0}&Passwd={1}",
    HttpUtility.UrlEncode(email),
    HttpUtility.UrlEncode(password)
);
var web = new WebClient();
web.DownloadStringCompleted += (sender, e) =>
{
    var sid = e.Result.Split('\n')
        .First(s => s.StartsWith("SID="))
        .Substring(4);
};
web.DownloadStringAsync(new Uri(url));

ただし、 AsyncCTPを使用すると、このコードをより洗練されたものにすることができます。

于 2012-04-20T20:27:26.333 に答える
0

これには、手動の HTTP 操作と Cookie を処理する必要があります。このページにはかなりまともな説明があります。C# で HTTP 要求を処理したことがある場合は、そこに記載されているメソッドを選択しても問題ありません。

于 2011-02-17T17:36:27.283 に答える