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 - metodo post
Forum - C# / VB.NET - metodo post

Avatar
punkettone90 (Member)
Expert


Messaggi: 279
Iscritto: 16/05/2007

Segnala al moderatore
Postato alle 10:38
Venerdì, 13/06/2008
ciao!
ho bisogno di fare un programma che mandi a un webserver dei dati usando il metodo post; mi sembra anche da quello che ho letto su internet che il .net non ha dei metodi specifici per usare il post, ma bisogna mandare i dati al server "manualmente" usando ad esempio questo codice


using System.Net;
...
string HttpPost (string uri, string parameters)
{
   // parameters: name1=value1&name2=value2    
   WebRequest webRequest = WebRequest.Create (uri);
   //string ProxyString =
   //   System.Configuration.ConfigurationManager.AppSettings
   //   [GetConfigKey("proxy")];
   //webRequest.Proxy = new WebProxy (ProxyString, true);
   //Commenting out above required change to App.Config
   webRequest.ContentType = "application/x-www-form-urlencoded";
   webRequest.Method = "POST";
   byte[] bytes = Encoding.ASCII.GetBytes (parameters);
   Stream os = null;
   try
   { // send the Post
      webRequest.ContentLength = bytes.Length;   //Count bytes to send
      os = webRequest.GetRequestStream();
      os.Write (bytes, 0, bytes.Length);         //Send it
   }
   catch (WebException ex)
   {
      MessageBox.Show ( ex.Message, "HttpPost: Request error",
         MessageBoxButtons.OK, MessageBoxIcon.Error );
   }
   finally
   {
      if (os != null)
      {
         os.Close();
      }
   }

...
...
...

con lo stream vengono passati i byte corrispondenti ai parametri al server; la mia domanda è: i dati di un login (username e password) come devono essere formattati per poi venire trasformati in byte e essere mandati?

grazie!

PM Quote
Avatar
Mte90 (Member)
Guru


Messaggi: 1144
Iscritto: 25/03/2008

Segnala al moderatore
Postato alle 15:17
Venerdì, 13/06/2008
non fai prima a usare il Get cryptando i valori, mandando i dati del login cryptati?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:11
Venerdì, 13/06/2008
Dovresti vedere quali sono i nomi dei campi della pagina web che richiedono la compilazione di nome utente e password per saperlo.
Mandandoli tramite Get criptati il server non ha modo di sapere quale tipo di algoritmo di è usato (e se è di criptazione o di hash) e quindi di utilizzare i dati.

PM Quote
Avatar
punkettone90 (Member)
Expert


Messaggi: 279
Iscritto: 16/05/2007

Segnala al moderatore
Postato alle 11:11
Sabato, 14/06/2008
grazie intanto delle risposte; su internet ho cercato ancora riguardo il metodo POST ma non ho trovato quasi niente, spiegano come usare il modo post in html, chiamarlo con javascript ma come usarlo nel .net niente; ho trovato una classe già pronta per l'invio con il metodo post ma che purtroppo (e ho avuto anche la conferma di Totem) non funziona.

A questo punto chiedo se qualcuno conosce come funziona il metodo POST, ossia come avviene la trasmissione dei dati dal client al server.

grazie! ;)

PM Quote