C#のソケットを介してクライアントにCookieを送信するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/176881

  •  05-07-2019
  •  | 
  •  

質問

OK、この権利がある場合、コードは特定の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 < code> Set-Cookie: ヘッダー。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top