Как мне отправить куки клиенту через сокет с C #? - PullRequest
1 голос
/ 07 октября 2008

Хорошо, если у меня есть это право, мой код может получать cookie-файлы по определенному URL, но когда я получу 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);
}

Это часть прокси-сервера, который я кодирую, и у меня проблемы с куки.

C # .net3.5

1 Ответ

2 голосов
/ 07 октября 2008

Файлы cookie в HttpRequest.CookieContainer отправляются на целевой URL, указанный в запросе через заголовок HTTP Cookie:. Обычно прокси не устанавливает свои собственные куки. Вы должны проверить любые входящие куки-файлы от клиента для передачи, но вам не нужно делать ничего особенного, если сервер устанавливает свои собственные куки-файлы для клиента - он автоматически будет частью потока ответов в виде HTTP Set-Cookie: header.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...