Cuestión : POSTE de Webrequest

Estoy teniendo un pedacito de un problema con el envío de mensajes del POSTE a webpages.
I quiero un programa que sea capaz de corregir los postes en un vBulletin forum.

I tenga ya un pedazo de código que utilice Webrequest para abrir una sesión y para almacenar el CookieContainer. Puedo conseguir tan a una nueva página del poste mientras que está abierto una sesión sin problemas. El problema es yo no puede fijar cualquier dato en los textboxes. ¿O puedo quizá pero no lo demuestra que en la respuesta cuál fijo a un web browser object.

What soy que hace mal? Aquí está mi código, no con un foro pero apenas EE localiza que no trabaja tampoco. Estoy intentando fijar la “prueba” al searchbox en la derecha superior, el nombre es “gsearchBox” y la identificación es “q”. ¿Necesito utilizar el nombre o la identificación del elemento? class= " lineNumbers " >
1 del >

 // crea una petición usar un URL que pueda recibir un poste.
            petición del var = (HttpWebRequest) WebRequest.Create (“http://www.experts-exchange.com/ ");
            request.UserAgent =
    “Usuario-Agente: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv: 1.8.1.1) Gecko/20061204 Firefox/2.0.0.1”;

            // fijó la característica del método de la petición DE FIJAR.
            petición. Método = “POSTE”;

            // crea datos del POSTE y los convierte a un arsenal del octeto.
            postData de la secuencia = “gsearchBox=testing”;               // <------ NOMBRE DEL SEARCHBOX
            postData de //string = “q=testing2”;                       <------ IDENTIFICACIÓN DEL SEARCHBOX

            var encoding2 = nuevo ASCIIEncoding ();
            octeto [] byteArray = encoding2.GetBytes (postData);

            (Petición (de HttpWebRequest)) .CookieContainer = cookiecontain;
            // fijó la característica de ContentType del WebRequest.
            request.ContentType = “application/x-www-form-urlencoded”;
            // fijó la característica de ContentLength del WebRequest.
            request.ContentLength = byteArray.Length;
            request.KeepAlive = verdad;
            // consigue la corriente de la petición.
            dataStream de la corriente = request.GetRequestStream ();
            // escribe los datos a la corriente de la petición.
            dataStream.Write (byteArray, 0, byteArray.Length);
            Cierre de // el objeto de la corriente.
            dataStream.Close ();
            // consigue la respuesta.
            Respuesta de WebResponse = request.GetResponse ();
            Exhibición de // el estado.
            Console.WriteLine ((respuesta (de HttpWebResponse)) .StatusDescription);
            // consigue la corriente que contiene el contenido vuelto por el servidor.
            dataStream = response.GetResponseStream ();
            // abre la corriente usar un StreamReader para de fácil acceso.
            StreamReader reader2 = nuevo StreamReader (dataStream);
            // leyó el contenido.
            secuencia responseFromServer2 = reader2.ReadToEnd ();
            Exhibición de // el contenido.
            webBrowser1.DocumentText = responseFromServer2;
            // limpia las corrientes.
            lector. Cierre ();
            dataStream.Close ();
            respuesta. Cierre ();
¿pregunta " clara " de >



Secondary del class= de
Thanks por adelantado. class= del

Respuesta : POSTE de Webrequest

Debe ser el nombre de la caja de la búsqueda.

Si usted comprueba el HTML para saber si hay EE, hay un manojo de otros campos ocultados que se envíen junto con el texto mecanografiado por el usuario. Usted no sabe si cualesquiera de ésos son comprobados por el servidor y una ausencia de ésas puede hacer el servidor volver error o apenas volver silenciosamente a la página. Quién sabe…

Usted debe intentar agregando todos los campos de la forma en sus datos de la búsqueda. Una manera rápida es comenzar WireShark y capturar una búsqueda de la muestra y examinar los datos enviados al servidor. Apenas copiar el elemento de datos y pegarlo en su programa para hacer un cheque rápido.

En cuanto al someter, no hay realmente nada hacer. Apenas fijar los datos de la forma al URL especificados en la cualidad de la “acción” de la forma. Si no hay ninguno apenas poste a la página actual (PostBack). También, cómo usted fija los datos (el formato) dependen de la cualidad de la “codificación” de la forma. Si WWW-URL-se codifican, son como una preguntar-secuencia con llaves y valores codificados URL.

Si es de varias partes/los forma-datos, después que son una diversa historia entera. Creo para su caso, él voy sobre todo a ser el tipo WWW-URL-codificado.

Esperar que ayudas…

Otras soluciones  
 
programming4us programming4us