0
我需要能够登录到我的Gmail帐户,然后我得到的cookies和将有权访问其他谷歌服务。但我无法登录到我的Gmail(或任何goolgle)帐户。我在这个网站上发现了一些帖子怎么做,但没有一个适合我。我这样做:登录到Gmail帐户
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功能已关闭,请将其打开。” 我也试过让req.Headers.Add(HttpRequestHeader.CacheControl,“no-cache = set-cookie”);但它也是不安全的。
有人知道问题在哪里吗?
如何在C#中启用第三方Cookie时向我的Google帐户发送请求。 – Dzmitry 2010-07-23 07:55:19
如果你是从浏览器中的Web服务器上运行它,你当然不能这样做。只有用户可以出于安全原因手动执行此操作。如果您将此作为外部应用程序运行,则可能是。 – MrWhite 2010-07-23 09:40:45