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

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:22
Mercoledì, 23/07/2008
Dopo interminabili discussioni e numerose conversazioni su messenger, mi sono deciso a fare qualche ricerca. Questo topic è riservato al metodo POST e alla sua oscura implementazione in .Net. Cercheremo di fare un po' di luce sull'argomento.

Detto ciò, dopo una ricerca di 30 secondi, ho trovato questa pagina:
http://www.xtremevbtalk.com/showthread.php?t=158765
E ho fatto qualche prova. Questo codice NON funziona sempre, anzi: il più delle volte dà eccezione oppure produce in output un codice sbagliato. Tuttavia, essendo l'unico filo che ci tiene appesi alla speranza, si può tentare di usarlo in qualche situazione.

Poi, abbiamo il codice di Seven 7, che, poverino, ci sta provando da una vita (e forse c'è anche riuscito):
http://www.p2pforum.it/forum/showthread.php?t=170037
Come vedete, nessuno sul forum osa rispondere a quella discussione.

E poi c'è l'utilissimo esempio di MS su MSDN:
Codice sorgente - presumibilmente VB.NET

  1. Dim uriString As String
  2. Console.Write(ControlChars.Cr + "Please enter the URI to post data to{for example, http://www.contoso.com} : ")
  3. uriString = Console.ReadLine()
  4. ' Create a new WebClient instance.
  5. Dim myWebClient As New WebClient()
  6. Console.WriteLine(ControlChars.Cr + "Please enter the data to be posted to the URI {0}:", uriString)
  7. Dim postData As String = Console.ReadLine()
  8. myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
  9. ' Apply ASCII Encoding to obtain the string as a byte array.
  10. Dim byteArray As Byte() = Encoding.ASCII.GetBytes(postData)
  11. Console.WriteLine("Uploading to {0} ...", uriString)
  12. ' Upload the input string using the HTTP 1.0 POST method.
  13. Dim responseArray As Byte() = myWebClient.UploadData(uriString, "POST", byteArray)
  14. ' Decode and display the response.
  15. Console.WriteLine(ControlChars.Cr + "Response received was :{0}", Encoding.ASCII.GetString(responseArray))


In cui il programmatore resta comunque imbambolato a chiedersi cosa debba mettere in PostData e secondo quale formato...

Inoltre, non si riescono a trovare altri risultati su google tranne che questi pochi. Il metodo Post, questa piaga dell'umanità. Ci sono solo due spiegazioni a tale penuria di informazioni:
- Tutti sanno come funziona e pensano sia talmente semplice che non valga la pena spiegarlo. Gli unici a non saperlo siamo noi che, provando i pochi codici estrapolati dal web con tanta fatica, scopriamo sempre un errore.
- Nessuno sa come funziona e nessuno cerca di scoprirlo. In questo modo soltando gli scrittori del FW lo sanno, ma dalla documentazione che sembra tanto semplice, comunque non si riesce a cavare un ragno dal buco.

PM Quote
Avatar
punkettone90 (Member)
Expert


Messaggi: 279
Iscritto: 16/05/2007

Segnala al moderatore
Postato alle 14:01
Sabato, 26/07/2008
Grazie mille Totem per aver aperto questo thread, spero tanto che qualcuno che sa qualcosa di questo argomento ci faccia sapere quello che sa :k:

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 9:58
Domenica, 27/07/2008
Speriamo che esista qualcuno del genere :rotfl:

PM Quote
Avatar
punkettone90 (Member)
Expert


Messaggi: 279
Iscritto: 16/05/2007

Segnala al moderatore
Postato alle 13:35
Domenica, 27/07/2008
tramite uno sniffer si potrebbe osservare il traffico che genera un'operazione post e capirne il funzionamento?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 11:47
Lunedì, 28/07/2008
Io non scenderei così a basso livello. Ma se in alcuni casi funziona, significa che fondamentalmente, il codice del FW è corretto. Il problema è determinare perchè spesso non funzioni: non può sempre essere colpa del server, no?
La formattazione, mi semba di aver capito, sarebbe simile a quella di querying del GET.

PM Quote
Avatar
punkettone90 (Member)
Expert


Messaggi: 279
Iscritto: 16/05/2007

Segnala al moderatore
Postato alle 13:14
Lunedì, 28/07/2008
si, infatti, però secondo me se stiamo qui ad aspettare in questo forum non avremo mai la risposta, dove potremmo postare questo problema?

PM Quote
Avatar
Mte90 (Member)
Guru


Messaggi: 1144
Iscritto: 25/03/2008

Segnala al moderatore
Postato alle 14:22
Lunedì, 28/07/2008
Forse è ancora una cosa non implementanta perfettamente nel framework, sarebbe da vedere se è possibile con una libreria esterna.
Un metodo potrebbe essere l'utilizzare un webbrowser che contenga una pagina html con il codice del form messo in post e che con uno javascript automaticamente dopo un'pò di tempo si autoinvia.

PM Quote
Avatar
punkettone90 (Member)
Expert


Messaggi: 279
Iscritto: 16/05/2007

Segnala al moderatore
Postato alle 18:35
Lunedì, 28/07/2008
e dove la trovi questa libreria esterna? io e Totem ne abbiamo trovata una ma che non funziona, se ci fossero librerie esterne che eseguissero il post il problema sarebbe già risolto; comunque meglio ancora di fare una pagina html con javascript è fare direttamente un javascript

PM Quote
Avatar
Mte90 (Member)
Guru


Messaggi: 1144
Iscritto: 25/03/2008

Segnala al moderatore
Postato alle 21:15
Lunedì, 28/07/2008
http://msdn.microsoft.com/it-it/library/system.net.webrequ ...

Si trova poco sulla rete in effetti...
La migliore è quella di usare un WebBrowser con un form html o javascript.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo