나는 httpsbrequest와 C#을 사용하여 무대 뒤쪽에있는 wordpress에 로그인을 시도하고 있지만 할 수는 없습니다. 웹을 통해 검색 한 결과 많은 사람들이 같은 문제가 있다는 것을 알았지 만 올바른 해결책을 찾을 수 없습니다. 나 좀 도와 줄 수있어? 미리 감사드립니다.Wordpress 로그인 httpwebrequest
string adres = "http://www.site.com";
CookieContainer cookies = new CookieContainer();
ServicePointManager.Expect100Continue = false;
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(adres + "wp-admin/");
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1";
request.Method = "GET";
request.CookieContainer = cookies;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Close();
//POST
request = (HttpWebRequest)HttpWebRequest.Create(adres + "/wp-login.php");
request.Method = "POST";
request.CookieContainer = cookies;
string password = haslo;
string loginData = String.Format("loginform=&log=admin&pwd=password&testcookie=1&rememberme=forever&redirect_to=" + Uri.EscapeDataString(adres) + "wp-admin/&wp-submit=" + Uri.EscapeDataString("Zaloguj się"));
request.ContentType = "application/x-www-form-urlencoded";
byte[] loginDataBytes = Encoding.ASCII.GetBytes(loginData);
Stream postData = request.GetRequestStream();
postData.Write(loginDataBytes, 0, loginDataBytes.Length);
postData.Close();
response = (HttpWebResponse)request.GetResponse();
// NEXT GET
request = (HttpWebRequest)HttpWebRequest.Create(adres + "/wp-admin/");
request.Method = "GET";
request.CookieContainer = cookies;
HttpWebResponse response1 = (HttpWebResponse)request.GetResponse();
Stream response1Stream = response1.GetResponseStream();
StreamReader reader1 = new StreamReader(response1Stream);
string input1 = reader1.ReadToEnd();
response1.Close();
richTextBox1.Text = input1;
두 번째 "GET"요청 후 로그인 할 수 없습니다. 로그인 페이지가 아니라 무대 뒤 페이지로 이동합니다.
오류를 받으셨습니까? – Zaki
게시물을 업데이트하면 실제로 시도한 내용이 설명되어 있습니다. – Tim
나는 어떤 오류도 내지 않는다. 단지 로그인 할 수 없다. -> 두 번째 "GET"요청 후에, 나는 로그인 페이지가 아니라 무대 뒤 무대 홈페이지를 얻는다. – user1382443