我正在寻找一个代码片段,它将向我展示如何在 C# 中为 Google Reader 获取 SID。有人知道这样的野兽吗?
2 回答
2
这很容易。首先,您应该使用您的登录名和密码执行页面GET请求https://www.google.com/accounts/ClientLogin(不要忘记对它们进行 url 编码)。然后只需解析响应(将有几个参数除以换行符\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 回答