簡體   English   中英

如何使用 C# 通過套接字向客戶端發送 cookie?

[英]How do I send cookies to the client via a socket with C#?

好的,如果我有這個權利,我的代碼可以在特定的 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

HttpRequest.CookieContainer的 cookie 通過 HTTP Cookie:標頭轉到請求中指定的目標 URL。 通常,代理不會設置自己的 cookie。 您應該檢查來自客戶端的任何傳入 cookie 以進行傳遞,但如果服務器為客戶端設置自己的 cookie,則您不需要做任何特殊的事情——它將作為 HTTP Set-Cookie:自動成為響應流的一部分Set-Cookie:標題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM