如何通过C#套接字向客户端发送cookie?

时间:2008-10-07 01:16:10

标签: c# cookies proxy

好的,如果我有这个权利,我的代码可以在特定网址上获取cookie,但是一旦我获得了cookie,进入容器,如何通过套接字将其发送到客户端?就像下面的代码一样,这里针对常规的http页面请求。

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);
}

我的请求/回复代码部分

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);
}

这是我正在编码的代理服务器的一部分,我在使用cookies时遇到了问题。

C#.NET3.5

1 个答案:

答案 0 :(得分:2)

HttpRequest.CookieContainer中的Cookie通过HTTP Cookie: 标头转到请求中指定的目标网址。通常,代理不会设置自己的cookie。您应检查来自客户端的任何传入cookie以进行传递,但如果服务器为客户端设置自己的cookie,则不需要执行任何特殊操作 - 它将自动作为HTTP {的响应流的一部分{1}} 标题。