【问题标题】:HTTP web request doesn't maintain sessionHTTP Web 请求不维护会话
【发布时间】:2010-03-16 20:15:35
【问题描述】:

我有一个程序,我想废弃一些有用的学习材料供个人使用。 该站点还维护一个会话密钥和一些其他密钥。 如果我尝试转到嵌套页面,那么它将结束会话。

我无法使用网络请求类维护会话密钥。

如何使用 Web 请求类维护会话?

请帮忙。

【问题讨论】:

    标签: c# session webrequest


    【解决方案1】:

    您需要在您的请求中维护 CookiesCollection。

    var request = (HttpWebRequest)HttpWebRequest.Create("http://www.mysite.com/");
    var cookies = new CookieContainer();
    
    //Pass the collection along with each request to maintain session
    request.CookieContainer = cookies;
    

    当您收到响应时,您的容器将自动包含与其关联的一组 cookie。然后,您可以在后续请求中重复使用该容器。

    【讨论】:

      【解决方案2】:

      基本上,您将希望从响应标头中读取会话 cookie,并在您发出的每个请求中将其传递回标头中。根据您所针对的应用程序,可能还有更多内容。

      【讨论】:

        【解决方案3】:

        在 iFrame 中嵌入页面时遇到类似问题。解决方案是,出于安全目的,会话会被浏览器(主要是 IE8)丢弃。也许这是一个拼凑? Google for P3P 以获取更多信息。

        -sa

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-10-22
          • 2011-11-05
          • 2013-11-25
          • 2013-08-03
          • 2011-07-21
          • 2015-01-07
          • 1970-01-01
          相关资源
          最近更新 更多