HttpWebRequest 怎么获取网页的 cookie 呀?
网上很多例子
但是我得不到指定的cookie 的值呀

解决方案 »

  1.   

    using System;
    using System.Net;
    using System.IO;
    using System.Text;
    using System.Web;
    using System.Security.Cryptography.X509Certificates;namespace ping
    {
        class SimpleHttpClient
        {
            public static byte[] StrToByteArray(string str)
            {
                System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
                return encoding.GetBytes(str);
            }        [STAThread]
            public void login()
            {
                //string gatewayUrl = "http://p8dev01web:7001/core/pswsapi/pswsapi.asp";
                string inputXmlQueryFilePath = "C:/Documents and Settings/krainbolt/My Documents/Visual Studio 2005/Projects/serverTestApp/serverTestApp/logon.txt";
                StreamWriter output = new StreamWriter(@"C:/Documents and Settings/krainbolt/My Documents/Visual Studio 2005/Projects/serverTestApp/serverTestApp\\Output.txt", false);
                StreamWriter soutput = new StreamWriter(@"C:/Documents and Settings/krainbolt/My Documents/Visual Studio 2005/Projects/serverTestApp/serverTestApp\\startOut.txt", false);
                string cookieHeader = null;
                try
                {
                                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://myserver:80/core/");
                    request.Method = "Post";
                    CookieContainer cookieJar = new CookieContainer();
                    request.CookieContainer = cookieJar;
                    byte[] requestBytes = StrToByteArray(" ");
                    request.ContentLength = requestBytes.Length;
                    Stream requestStream = request.GetRequestStream();
                    requestStream.Write(requestBytes, 0, requestBytes.Length);
                    requestStream.Close();                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    Stream responseData = response.GetResponseStream();
                    StreamReader reader = new StreamReader(responseData);
                    string responseFromServer = reader.ReadToEnd();
                    
                    cookieHeader = response.Cookies.ToString();
                    soutput.Write(cookieHeader);
                    soutput.Write(responseFromServer);
                    soutput.Write(response.Headers[4]);
                    responseData.Close();
                    soutput.Close();
                    reader.Close();
                    response.Close();                
                    
                    HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create("http://myserver:80/login.asp");
                    // read input XML query from file
                    string inputXml;
                    using (StreamReader inputQueryReader = new StreamReader(inputXmlQueryFilePath))
                    {
                        inputXml = inputQueryReader.ReadToEnd();
                    }
                 
                    byte[] request1Bytes = StrToByteArray(inputXml);
                    request1.Method = "Post";
                    //request1.CookieContainer.Add(response.Cookies);
                    request1.ContentLength = request1Bytes.Length;
                    Stream request1Stream = request1.GetRequestStream();
                    //output.Write(request1.CookieContainer.ToString());
                    request1Stream.Write(request1Bytes, 0, request1Bytes.Length);
                    request1Stream.Close();                HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse();
                    Stream response1Data = response1.GetResponseStream();
                    StreamReader reader1 = new StreamReader(response1Data);
                    string response1FromServer = reader1.ReadToEnd();                
                    output.Write(response1FromServer);
                    response1.Close();
                    reader1.Close();
                    output.Close();                //
                    
                }
                catch (Exception e)
                {
                    output.Write("Exception: " + e);
                    output.Close();
                }
                
            }    }
    }
      

  2.   

    cookie 的值在哪儿呀?