Authentication 登录gmail帐户
我需要能够登录到我的gmail帐户,然后我得到cookies,并将有权访问其他谷歌服务。但我不能登录我的gmail(或任何谷歌)帐户。我在这个网站上找到了一些如何做到这一点的帖子,但没有一篇适合我。我有:Authentication 登录gmail帐户,authentication,login,forms-authentication,gmail,Authentication,Login,Forms Authentication,Gmail,我需要能够登录到我的gmail帐户,然后我得到cookies,并将有权访问其他谷歌服务。但我不能登录我的gmail(或任何谷歌)帐户。我在这个网站上找到了一些如何做到这一点的帖子,但没有一篇适合我。我有: string formUrl = "https://www.google.com/accounts/ServiceLoginAuth"; string formParams = string.Format("Email={0}&Passwd={1}&a
string formUrl = "https://www.google.com/accounts/ServiceLoginAuth";
string formParams = string.Format("Email={0}&Passwd={1}&signIn={2}&PersistentCookie={3}&GALX={4}",
"autokuzov.top", "1QAZ2wsx", "Sign in", "yes", "CfFosrEhu-0");
string cookieHeader;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(formUrl);
req.ContentType = "application/x-www-form-urlencoded";
req.Referer = "https://www.google.com/accounts/ServiceLoginAuth";
req.Method = "POST";
req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7";
req.AllowAutoRedirect = false;
req.CookieContainer = new CookieContainer();
req.Headers.Add(HttpRequestHeader.CacheControl, "no-cache=set-cookie");
byte[] bytes = Encoding.ASCII.GetBytes(formParams);
req.ContentLength = bytes.Length;
using (Stream os = req.GetRequestStream())
{
os.Write(bytes, 0, bytes.Length);
}
WebResponse resp = req.GetResponse();
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
string s = sr.ReadToEnd();
}
响应返回:“浏览器的cookie功能已关闭。请将其打开。”
我还尝试了make req.Headers.Add(HttpRequestHeader.CacheControl,“no cache=set cookie”);但这也没有发生
有人知道哪里有问题吗
“浏览器的cookie功能
已关闭。请打开它。“
您可能需要在浏览器中启用第三方cookie。在某些浏览器中,默认情况下这些选项处于禁用状态。如果禁用第三方Cookie,在Firefox中使用Gmail Manager插件时,您会收到相同的警告。当我向我的google帐户发出请求时,如何在C#中启用第三方Cookie。如果您是从web服务器在浏览器中运行此功能,您当然不能。出于安全原因,只有用户可以手动执行此操作。如果您将此作为外部应用程序运行,则可能是。