使用HttpCookieCollection和CookieContainer发送cookie

Mik*_*ike 25 .net c# cookies cookiecontainer

我想通过HTTP请求从我的服务器隧道到远程服务器,通过所有cookie.所以我创建了一个新HttpWebRequest对象,并希望在其上设置cookie.

HttpWebRequest.CookieContainerSystem.Net.CookieContainer持有的类型System.Net.Cookies.

在我的传入请求对象上:

HttpRequest.CookiesSystem.Web.HttpCookieCollection持有的类型System.Web.HttpCookies.

基本上我希望能够将它们分配给彼此,但不同的类型使它变得不可能.我是否必须通过复制它们的值来转换它们,还是有更好的方法?

Dav*_*vid 36

这是我用来将cookie对象从传入请求传输到新的HttpWebRequest的代码...("myRequest"是我的HttpWebRequest对象的名称.)

HttpCookieCollection oCookies = Request.Cookies;
for ( int j = 0; j < oCookies.Count; j++ ) 
{
    HttpCookie oCookie = oCookies.Get( j );
    Cookie oC = new Cookie();

    // Convert between the System.Net.Cookie to a System.Web.HttpCookie...
    oC.Domain   = myRequest.RequestUri.Host;
    oC.Expires  = oCookie.Expires;
    oC.Name     = oCookie.Name;
    oC.Path     = oCookie.Path;
    oC.Secure   = oCookie.Secure;
    oC.Value    = oCookie.Value;

    myRequest.CookieContainer.Add( oC );
}
Run Code Online (Sandbox Code Playgroud)