2008-10-07 6 views
1

Ok, si j'ai bien compris, mon code peut obtenir des cookies à une URL spécifique, mais une fois que je reçois le cookie, dans le conteneur, comment puis-je l'envoyer au client via une socket? Comme le code directement ci-dessous fait ici pour les demandes de page http régulières.Comment envoyer des cookies au client via une socket avec C#?

byte[] buffer = new byte[bz]; 
rebu = responsestream.Read(buffer, 0, bz); 
while (rebu != 0) 
{ 
    soket.Send(buffer, rebu, 0); 
    rebu = responsestream.Read(buffer, 0, bz); 
} 

section Mon code pour des demandes/réponses

System.Net.Configuration.HttpWebRequestElement wr = new System.Net.Configuration.HttpWebRequestElement(); 
wr.UseUnsafeHeaderParsing = true; 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
CookieContainer cookieContainer = new CookieContainer(); 
request.CookieContainer = cookieContainer; 
request.CookieContainer.Add(cookieContainer.GetCookies((Uri)url)); 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
Stream responsestream = response.GetResponseStream(); 
byte[] buffer = new byte[bz]; 
rebu = responsestream.Read(buffer, 0, bz); 
while (rebu != 0) 
{ 
    soket.Send(buffer, rebu, 0); 
    rebu = responsestream.Read(buffer, 0, bz); 
} 

Cela fait partie d'un serveur proxy je codage et je vais avoir des problèmes avec les cookies.

C# .net3.5

Répondre

2

Les cookies dans le HttpRequest.CookieContainer va à l'URL de destination spécifiée dans la requête via l'en-tête HTTP Cookie:. Normalement, un proxy ne définit pas ses propres cookies. Vous devriez vérifier tous les cookies entrants du client pour les transmettre mais vous n'avez pas besoin de faire quelque chose de spécial si le serveur configure ses propres cookies pour le client - il fera automatiquement partie du flux de réponse HTTP Set-Cookie: header .

Questions connexes