返回首页

大家好:
我新。NET编程,需要一些帮助。我的意思是数据发布到Web服务器,并获得所需的服务。在我脑海中的程序的功能是:
经过最初的日志以下会议在会议上与用户名/密码,只接受所需的服务键值对 - 这是服务器应该提供的服务的方式

我发现了一个Cookie,接触过的可能是一个解决方案,附加如下WebClient类的实现代码。但它不工作。问题是:从第一届的饼干没有得到很好的捕获,因此随后的会议中缺乏正常工作所需的信息。

有更详细的例子,对如何实现的功能?

谢谢你在前进!


   public class WebClient_CookieAware : WebClient

    {

        public CookieContainer theCookieContainer { get; set; }

        public Uri Uri { get; set; }

        public WebClient_Cookie(): this(new CookieContainer())

             {    }

 

        public WebClient_Cookie(CookieContainer cookies)

           { 

            this.theCookieContainer = cookies;

            }

 

        protected override WebRequest GetWebRequest(Uri address)

        {

            WebRequest request = base.GetWebRequest(address);

            if (request is HttpWebRequest)

                { (request as HttpWebRequest).CookieContainer = theCookieContainer;}

            HttpWebRequest httpRequest = (HttpWebRequest)request;

            // httpRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

            return httpRequest;

        }

 

        protected override WebResponse GetWebResponse(WebRequest request)

        {

            WebResponse response = base.GetWebResponse(request);

            String setCookieHeader = response.Headers[HttpResponseHeader.SetCookie];

            if (setCookieHeader == null)

            {

                Cookie cookie = new Cookie();

                this.theCookieContainer.Add(cookie);

            }

            return response;

        }

    }
| _jliu

回答

评论会员: 时间:2