1

我正在尝试通过 Windows 应用程序发布数据,但最后我不断收到响应:“您必须启用 cookie 才能访问成员区域!”。

我不知道我的代码中缺少什么。谢谢帮助。:)

    public void Login()
    {
        string url = @"http://freedns.afraid.org/zc.php?step=2";
        //WebClient webclient = new WebClient();

        byte[] postValues = Encoding.ASCII.GetBytes("username=username&password=password&action=auth&remember=1&submit=Login");

        //get cookies
        CookieCollection cookies = new CookieCollection();
        HttpWebRequest askForCookies = (HttpWebRequest)WebRequest.Create("http://freedns.afraid.org/subdomain/");
        askForCookies.CookieContainer = new CookieContainer();
        askForCookies.CookieContainer.Add(cookies);
        HttpWebResponse responseCookies = (HttpWebResponse)askForCookies.GetResponse();
        cookies = responseCookies.Cookies;
        //Cookies retrived
        int howmuch = responseCookies.Cookies.Count;

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.CookieContainer = new CookieContainer();
        request.CookieContainer.Add(cookies);
        request.Credentials = CredentialCache.DefaultCredentials;
        request.UserAgent = "mateuszzaborowski.com update client";
        request.Method = WebRequestMethods.Http.Post;

        request.ContentType = "application/x-www-form-urlencoded";
        Stream postStream = request.GetRequestStream();

        postStream.Write(postValues, 0, postValues.Length);
        postStream.Close();

        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream Anwser = response.GetResponseStream();
        StreamReader _Anwser = new StreamReader(Anwser);
        string test = _Anwser.ReadToEnd();
        _Anwser.Close();
    }
4

0 回答 0