Pergunta : BORNE de Webrequest

Eu estou tendo um bocado de um problema com emissão de mensagens do BORNE a webpages.
I quero um programa que seja capaz de editar bornes em um vBulletin forum.

I já tenha uma parte de código que usa Webrequest para entrar e armazenar o CookieContainer. Assim eu posso começ a uma página nova do borne quando entrado sem problemas. O problema é mim não pode afixar todos os dados nos textboxes. Ou talvez eu posso mas não o mostra que na resposta qual eu ajusto a um web browser object.

What sou eu que faço erradamente? Está aqui meu código, não com um fórum mas apenas a EE situa que não trabalha tampouco. Eu estou tentando afixar o “teste” ao searchbox na direita superior, o nome é “gsearchBox” e a identificação é “q”. Eu preciso de usar o nome ou a identificação do elemento? class= " lineNumbers " >
1 do >

 // cria um pedido using um URL que possa receber um borne.
            pedido do var = (HttpWebRequest) WebRequest.Create (“http://www.experts-exchange.com/ ");
            request.UserAgent =
    “Usuário-Agente: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv: 1.8.1.1) Gecko/20061204 Firefox/2.0.0.1”;

            // ajustou a propriedade do método do pedido AFIXAR.
            pedido. Método = “BORNE”;

            // cria dados do BORNE e converte-os a uma disposição do byte.
            postData da corda = “gsearchBox=testing”;               // <------ NOME DO SEARCHBOX
            postData de //string = “q=testing2”;                       <------ IDENTIFICAÇÃO DO SEARCHBOX

            var encoding2 = ASCIIEncoding novo ();
            byte [] byteArray = encoding2.GetBytes (postData);

            (Pedido (de HttpWebRequest)) .CookieContainer = cookiecontain;
            // ajustou a propriedade de ContentType do WebRequest.
            request.ContentType = “application/x-www-form-urlencoded”;
            // ajustou a propriedade de ContentLength do WebRequest.
            request.ContentLength = byteArray.Length;
            request.KeepAlive = retificam;
            // começ o córrego do pedido.
            dataStream do córrego = request.GetRequestStream ();
            // redige os dados ao córrego do pedido.
            dataStream.Write (byteArray, 0, byteArray.Length);
            Fim de // o objeto do córrego.
            dataStream.Close ();
            // começ a resposta.
            Resposta de WebResponse = request.GetResponse ();
            Exposição de // o status.
            Console.WriteLine ((resposta (de HttpWebResponse)) .StatusDescription);
            // começ o córrego que contem o índice retornado pelo usuário.
            dataStream = response.GetResponseStream ();
            // abre o córrego using um StreamReader para o acesso fácil.
            StreamReader reader2 = StreamReader novo (dataStream);
            // leu o índice.
            corda responseFromServer2 = reader2.ReadToEnd ();
            Exposição de // o índice.
            webBrowser1.DocumentText = responseFromServer2;
            // limpa os córregos.
            leitor. Fim ();
            dataStream.Close ();
            resposta. Fim ();
pergunta " desobstruída " de >



Secondary do class= de
Thanks adiantado. class= do

Resposta : BORNE de Webrequest

Deve ser o nome da caixa da busca.

Se você verific o HTML para ver se há a EE, há um grupo de outros campos escondidos que são emitidos junto com o texto datilografado pelo usuário. Você não sabe se alguma daquelas está verific pelo usuário e uma ausência daquelas pode fazer com que o usuário retorne o erro ou apenas retorne silenciosamente à página. Quem sabe…

Você deve tentar adicionando todos os campos do formulário em seus dados da busca. Uma maneira rápida é começar WireShark e capturar uma busca da amostra e examinar os dados emitidos ao usuário. Apenas copiar a peça de dados e colá-la em seu programa para fazer uma verificação rápida.

Quanto para à submissão, não há realmente nada fazer. Apenas afixar os dados do formulário ao URL especific no atributo da “ação” do formulário. Se não há nenhuns apenas borne à página atual (PostBack). Também, como você afixa os dados (o formato) dependem em cima do atributo da “codificação” do formulário. Se WWW-URL-são codificados, são como uma perguntar-corda com chaves e valores codificados URL.

Se é com várias partes/dados, a seguir que são uma história diferente inteira. Eu acredito para seu caso, ele estou indo na maior parte ser o tipo WWW-URL-codificado.

Esperar que ajudas…

Outras soluções  
 
programming4us programming4us