【问题标题】:How do I send cookies to the client via a socket with C#?如何使用 C# 通过套接字将 cookie 发送到客户端?
【发布时间】:2010-09-15 16:01:41
【问题描述】:

好的,如果我有这个权利,我的代码可以在特定的 url 获取 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);
}

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

C#.net3.5

【问题讨论】:

    标签: c# cookies proxy


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2011-01-05
      • 2021-02-03
      • 1970-01-01
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 2014-07-22
      相关资源
      最近更新 更多