login ind i wordpress med HttpWebRequest
Hej Eksperter,Jeg sidder og skal kontroler 2 wordpress blogs, og det vil jeg gerne gøre centralt fra, me wordpress api er ikke videre udviklet og de .NET namspaces som er blevet udviklet til at understøtte wordpress api'et er hullet for at sige det mildt.
så jeg prøver at tilgå de 2 wordpress ved hjælp af HttpWebRequest men af en eller anden grund kan jeg ikke logge ind. Jeg får den meddelese at min "browser" ikke understøtter cookies. Men en funktion jeg bruger kan godt logge ind på ander sites som bruger cookies er der nogle der kan hjælpe !! min kode er her under :
public string WordPressAccess(string url, string data)
{
string TheReturn = "";
byte[] buffer = Encoding.ASCII.GetBytes(data);
HttpWebRequest gRequest = (HttpWebRequest)WebRequest.Create(url);
gRequest.Method = "POST";
gRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)";
gRequest.AllowAutoRedirect = true;
gRequest.MaximumAutomaticRedirections = 10;
gRequest.ContentType = "application/x-www-form-urlencoded";
gRequest.ContentLength = buffer.Length;
Stream LoginData = gRequest.GetRequestStream();
LoginData.Write(buffer, 0, buffer.Length);
LoginData.Close();
CookieContainer myContainer = new CookieContainer();
gRequest.CookieContainer = new CookieContainer();
HttpWebResponse gResponse = (HttpWebResponse)gRequest.GetResponse();
foreach (Cookie cook in gResponse.Cookies)
{
myContainer.Add(cook);
}
if (gResponse.StatusCode == HttpStatusCode.OK)
{
//get all the cookies from the current request and add them to the response object cookies
gResponse.Cookies = myContainer.GetCookies(gRequest.RequestUri);
}
StreamReader reader = new StreamReader(gResponse.GetResponseStream());
TheReturn = reader.ReadToEnd();
reader.Close();
return TheReturn;
}