我正在使用我的c#
应用向网页发送请求。在发送任何请求之前,我必须登录此网页。每次我想要做一些工作时,我都希望避免记录,所以我在VARBINARY
列中将cookie存储在sql server数据库中。我必须每次更新每个cookie吗?
比方说,我送50 POST requests
每天:
private string getRequest(string url, string postData = "")
{
try
{
System.Net.ServicePointManager.Expect100Continue = true;
StreamReader reader;
var request = WebRequest.Create(url) as HttpWebRequest;
request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";
request.CookieContainer = Cookie;
request.AllowAutoRedirect = true;
request.ContentType = "application/x-www-form-urlencoded";
request.Headers.Add("X-Requested-With", "XMLHttpRequest");
postData = Uri.EscapeUriString(postData);
request.Method = "POST";
request.ContentLength = postData.Length;
Stream requestStream = request.GetRequestStream();
Byte[] postBytes = Encoding.ASCII.GetBytes(postData);
requestStream.Write(postBytes, 0, postBytes.Length);
requestStream.Close();
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
foreach (Cookie tempCookie in response.Cookies)
{
Cookie.Add(tempCookie);
}
reader = new StreamReader(response.GetResponseStream());
string readerReadToEnd = reader.ReadToEnd();
response.Close();
database.updateCookie(AccountId, Cookie); //here I am updating the cookies
return readerReadToEnd;
}
catch { return ""; }
我真的需要每个请求后更新Cookies
?或者,也许我可以在发送50 POST requests
后只更新我的cookie一次?
我在问,因为有时我的饼干会持续几天,有时他们会在1分钟后死亡。我不知道为什么以及如何避免这种情况。
我需要储存最新的曲奇吗?或者我可以每次都使用相同的曲奇吗?
这取决于服务器发送的cookie。 – SLaks
为什么你需要在你的数据库中存储cookies?如果你把它们存储在数据库中,Cookies也属于客户端机器,客户端机器上存储的是什么? –
@SeanLange因为我有时会重启我的电脑。我想在数据库中存储cookie以避免日志记录。 – Dawvawd