Ich verwende meine c#
App, um eine Anfrage an die Webseite zu senden. Bevor ich eine Anfrage abschicke, muss ich auf dieser Webseite eingeloggt sein. Ich möchte die Protokollierung jedes Mal vermeiden, wenn ich etwas arbeiten möchte, also speichere ich Cookies in der SQL Server-Datenbank in VARBINARY
Spalte.Muss ich jedes Cookie jedes Mal aktualisieren?
Lets sagen, dass ich 50 bin Senden POST requests
jeden Tag:
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 ""; }
Muss ich Cookies
aktualisieren müssen, um wirklich nach jeder Anfrage? Oder könnte ich meine Cookies nur einmal aktualisieren, nachdem ich 50 POST requests
gesendet habe?
Ich frage, weil manchmal meine Kekse paar Tage dauern, und manchmal sind sie nach 1 Minute gestorben. Ich weiß nicht wirklich warum und wie ich das vermeiden kann.
Muss ich die neueste Version von Cookies speichern, oder kann ich sie immer verwenden?
Das hängt davon ab, welche Cookies der Server sendet. – SLaks
Warum müssen Sie Cookies in Ihrer Datenbank speichern? Cookies gehören auf den Client-Rechner, wenn Sie sie auch in der Datenbank speichern, was ist der Punkt der Speicherung auf dem Client-Rechner? –
@SeanLange, weil ich meinen PC manchmal neu starte. Ich möchte Cookies in der Datenbank speichern, um die Protokollierung zu vermeiden. – Dawvawd