Fråga : Webrequest POSTAR

Förmiddag som I har lite ett problem med att överföra, POSTAR meddelanden till webpages.
I önskar ett program som är kapabelt av att redigera postar på en vBulletin forum.

I har redan en lappa av att kodifiera att bruk Webrequest att logga in och lagra CookieContaineren. Så jag kan få till ett nytt postar sidastunder som loggas in utan problem. Problemet är mig kan inte posta några data i textboxesna. Eller kanske jag kan, men det visar inte det i svaret vilket I-uppsättningen till en förmiddag för Webbrowser object.

What mig som orätt gör? Är här mitt kodifierar, inte med ett fora, men precis EE placerar som inte fungerar either. Pröva förmiddag I att posta ”att testa” till searchboxen i den bästa rätten, det känt är ”gsearchBox”, och ID är ”q”. Jag behöver att använda det känt eller IDet av beståndsdelen? för class=" codeSnippet " för

1 för >
 // skapar en förfrågan using en URL som kan motta en posta.
var-förfrågan = (HttpWebRequest) WebRequest.Create (”http://www.experts-exchange.com/”);
request.UserAgent =
”Användare-Medel: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv: 1.8.1.1) Gecko/20061204 Firefox/2.0.0.1”;
// uppsättning metodegenskapen av förfråganen ATT POSTA.
förfrågan. Metoden = ”POSTAR”;
// skapar POSTAR data och konverterar den till en bytesamling.
stränga postDataen = ”gsearchBox=testing”; // <------ NAMNGE AV SEARCHBOXEN
//string postData = ”q=testing2”; <------ LEGITIMATION AV SEARCHBOXEN
var encoding2 = nya ASCIIEncoding ();
byteArray byte [] = encoding2.GetBytes (postData);
((HttpWebRequest) förfrågan) .CookieContainer = cookiecontain;
// uppsättning den ContentType egenskapen av WebRequesten.
request.ContentType = ”application/x-www-form-urlencoded”;
// uppsättning den ContentLength egenskapen av WebRequesten.
request.ContentLength = byteArray.Length;
request.KeepAlive = true;
// får förfråganen strömmer.
Strömma dataStream = request.GetRequestStream ();
// skriver datan till förfråganen strömmer.
byteArray dataStream.Write (, 0, byteArray.Length);
Nära // strömma anmärker.
dataStream.Close ();
// får svaret.
WebResponse svar = request.GetResponse ();
// skärm statusen.
Console.WriteLine (((det HttpWebResponse) svaret) .StatusDescription);
// får strömma som innehåller nöjt som gås tillbaka av serveren.
dataStream = response.GetResponseStream ();
// öppnar strömma using en StreamReader för lätt tar fram.
StreamReader reader2 = nya StreamReader (dataStream);
// läste det nöjt.
stränga responseFromServer2 = reader2.ReadToEnd ();
// skärm det nöjt.
webBrowser1.DocumentText = responseFromServer2;
// ren övre strömmer.
avläsare. Nära ();
dataStream.Close ();
svar. Nära ();
<-/pre>




Secondary ifrågasätter, hur kan jag simulera en sändning knäppas? Efter jag avslutade mig att redigera posta, att sända ändringarna?
Thanks i advance.
" klar "

Svar : Webrequest POSTAR

Det måste vara det känt av sökandet boxas.

Om du kontrollerar HTMLEN för EE, det finns en grupp av annan som är gömd, sätter in som överförs tillsammans med texten som skrivas av användaren. Du vet inte att huruvida några av de kontrolleras av serveren och en frånvaro av de kan orsaka serveren till det återgång felet eller precis tyst gå tillbaka till sidan. Vem vet…,

Du bör försök, genom att tillfoga som är alla bilda, sätter in i dina sökandedata. En ömt ställe är långt att starta WireShark och tillfångatagandet ett ta provsökande och att undersöka datan som överförs till serveren. Precis kopiera datadelen och klistra den i ditt program för att göra en snabb kontroll.

Som för sändningen, det finns egentligen ingenting att göra. Posta precis bildadatan till URLEN som specificeras i ”det handling” attribut av bilda. Om det finns, inga postar precis till strömsidan (PostBack). Också hur du postar, datan (formatera) beror på ”det kodnings” attribut av bilda. Om den www-url-kodas, det är något liknande som en kodad query-stränga med url stämm och värderar.

Om det är flerdelat/bilda-data, då som är en hel olik berättelse. Jag tror för ditt fall, det går mestadels att vara denkodade typen.

Hoppas att hjälp…,

Andra lösningar  
 
programming4us programming4us