Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [C#] Premere un bottone in una pagina php
Forum - C# / VB.NET - [C#] Premere un bottone in una pagina php

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
francescobigozzi (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/01/2010

Segnala al moderatore
Postato alle 9:55
Sabato, 14/08/2010
Come da titolo devo far premere un bottone alla mia applicazione.
Senza naturalmente far intergire con l'utente.
So che bisogna usare la clesse WebRequest.
Grazie a coloro che risponderanno.

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:42
Sabato, 14/08/2010
Dipende di che pulsante si tratta. Se è un <input> di tipo "submit", allora premerlo significa inviare il form a cui appartiene, e si può fare con una HttpWebRequest, inviando tutti i dati del form. Se è un <input> di tipo "button", allora avrà probabilmente qualche javascript allegato, e inviare una richiesta con WebRequest non servirebbe a nulla, poiché gli script sono lato client. In quest'ultimo caso, dovresti ottenere la struttura di tutta la pagina in un HtmlDocument, e scorrere tutti gli elementi fino al pulsante, quindi invocarne il click tramite HtmlElement.Invoke:
http://totemslair.org/guide/viewchapter.php?guida=vb&id=80
http://totemslair.org/guide/viewchapter.php?guida=vb&id=81

PM Quote
Avatar
francescobigozzi (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/01/2010

Segnala al moderatore
Postato alle 14:07
Sabato, 14/08/2010
Grazie. Dimenticavo che devo anche scrivere una stringa in una casella di testo.

<input type="text" name="url" class="input" id="url" />
Qui devo scrivere un URL.

<input type="submit" name="submit" value="Button" class="button" />
E qui premere il bottone.

Mi pare di capire che il bottone è di tipo submit.
Adesso mi leggo la tua guida.

PM Quote
Avatar
francescobigozzi (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/01/2010

Segnala al moderatore
Postato alle 20:31
Sabato, 14/08/2010
Non sono riuscito a risolvere molto per la verità :(

Devo realizzare un applicazione che scrive su una pagina php una stringa e prema un bottone.

Per semplicità posto il codice.

Codice sorgente - presumibilmente C# / VB.NET

  1. //Scive sulla stringa response il codice HTML della pagina web
  2.             response = CodeHTML("http://www.video2mp3.net/index.php");
  3.             if (response.Contains("<input type=\"text\" name=\"url\" class=\"input\" id=\"url\" />") && response.Contains("<input type=\"submit\" name=\"submit\" value=\"Convert\" class=\"button\" />"))
  4.                 MessageBox.Show("La textbox e il bottone esistono!");          
  5.         }
  6.  
  7.         private string CodeHTML(string url)
  8.         {
  9.             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
  10.             using (Stream stream = request.GetResponse().GetResponseStream())
  11.             using (StreamReader reader = new StreamReader(stream))
  12.                 return response = reader.ReadToEnd();
  13.         }



Riesco solo a verificare l'esistenza del bottone e della textbox, ma non sono ancora riuscito a capire come scriverci!!

Ultima modifica effettuata da francescobigozzi il 15/08/2010 alle 9:36
PM Quote
Avatar
francescobigozzi (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/01/2010

Segnala al moderatore
Postato alle 11:52
Domenica, 15/08/2010
Ho trovato un codice in rete, ma non so se ho capito come usarlo.

Codice sorgente - presumibilmente C#

  1. public static string HttpPost(string URI, string Parameters)
  2. {
  3.    System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
  4.    req.Proxy = new System.Net.WebProxy(ProxyString, true);
  5.    //Add these, as we're doing a POST
  6.    req.ContentType = "application/x-www-form-urlencoded";
  7.    req.Method = "POST";
  8.    //We need to count how many bytes we're sending. Post'ed Faked Forms should be name=value&
  9.    byte [] bytes = System.Text.Encoding.ASCII.GetBytes(Parameters);
  10.    req.ContentLength = bytes.Length;
  11.    System.IO.Stream os = req.GetRequestStream ();
  12.    os.Write (bytes, 0, bytes.Length); //Push it out there
  13.    os.Close ();
  14.    System.Net.WebResponse resp = req.GetResponse();
  15.    if (resp== null) return null;
  16.    System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
  17.    return sr.ReadToEnd().Trim();
  18. }


PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:58
Domenica, 15/08/2010
Forse è meglio che comprendi prima come funziona un form:
http://xhtml.html.it/guide/lezione/1696/struttura-del-tag- ...

PM Quote
Avatar
francescobigozzi (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/01/2010

Segnala al moderatore
Postato alle 12:45
Domenica, 15/08/2010
Compreso.

Ricapitoliamo:
Nella pagina in cui devo interagire vengono usati dei javascipt, quindi per inserire del testo dovrei mandargli dei parametri e, siccome non compaiono nell'url e viene usato il metodo POST, il codice che avevo postato dovrebbe andar bene.
A questo punto come deve essere impostata la stringa Parameters?

Grazie per avermi prestato attenzione.

Ultima modifica effettuata da francescobigozzi il 15/08/2010 alle 12:48
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:43
Lunedì, 16/08/2010
Testo quotato

Postato originariamente da francescobigozzi:

Compreso.

Ricapitoliamo:
Nella pagina in cui devo interagire vengono usati dei javascipt, quindi per inserire del testo dovrei mandargli dei parametri e, siccome non compaiono nell'url e viene usato il metodo POST, il codice che avevo postato dovrebbe andar bene.
A questo punto come deve essere impostata la stringa Parameters?

Grazie per avermi prestato attenzione.



La query che devi inviare è esattamente identica a una query GET ("param=value¶m1=value2..."), solo che viene scritta sullo stream di rete.

PM Quote
Avatar
francescobigozzi (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/01/2010

Segnala al moderatore
Postato alle 13:59
Martedì, 17/08/2010
ma come posso sapere l'odine dei parametri e il loro nome?
Ho chiesto aiuto anke a un "collega", e mi ha detto che bisogna sapere l'header. C'è un programma che lo riesce a individuare?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo