我正在尝试通过 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();
}