Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    29

    [NET] Post HTTP

    ciao a tutti,
    mi è stato chiesto di fare un POST http da vb .net su un indirizzo
    specifico di un file xml...
    riporto la richiesta:
    < l' applicazione riceve e tratta i file postati tramite
    multipart/form-data, il campo contenente deve chiamarsi "flussoxml"
    L'indirizzo sul quale fare il post è il seguente ....>
    pensavo di usare le seguenti istruzioni:


    Dim myWebClient As New WebClient


    Dim responseArray As Byte() = myWebClient.UploadFile(UploadUrl &
    UploadPage, PathFileXML)


    ma penso che ne manchi un pezzo (il campo contenente) giusto?
    Inoltre mi è stato detto che l'esito dell'upload viene scritto
    nell'header ma come posso leggerlo?
    Grazie
    Giu

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    29

    Aiuto HTTP con Vb .NET

    Forse ho fatto qualche passo in avanti...
    ho trovato la classe WebRequest ma non riesco a venirne a capo.
    Nessuno mi sa aiutare?
    Grazie
    Giu

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    codice:
    Dim objReq As Net.HttpWebRequest = _
                CType(Net.WebRequest.Create(url), Net.HttpWebRequest)
    
    Dim arrParam() As Byte = Text.Encoding.ASCII.GetBytes(parametri)
    'parametri = la stringa contenente i dati da inoltrare
    
    objReq.Method = "POST"
    objReq.ContentType = "multipart/form-data"
    objReq.ContentLength = arrParam.Length
    
    Dim objPostWriter As IO.Stream = objReq.GetRequestStream()
    
    Try
       objPostWriter.Write(arrParam, 0, arrParam.Length)
    Catch ex As Exception
       ' catch eventuale errore
    Finally
       objPostWriter.Close()
    End Try
    
    Dim objRes As Net.HttpWebResponse
    
    Try
       objRes = CType(objReq.GetResponse(), Net.HttpWebResponse)
    Catch ex As Exception
       ' catch eventuale errore
    End Try
    
    Dim readStream As IO.StreamReader
    Dim risposta As String ' risposta x la richiesta HTTP
    
    Try
       readStream = New IO.StreamReader(objRes.GetResponseStream())
       risposta = readStream.ReadToEnd()
    Catch ex As Exception
       ' catch eventuale errore
    Finally
       readStream.Close()
       objRes.Close()
    End Try
    Ans.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    29
    Ciao,
    prima di tutto grazie 1000 per la tua risposta.
    Vado subito a provare il tuo codice ma .... ti vorrei fare alcune domande...

    <code>
    Dim arrParam() As Byte = Text.Encoding.ASCII.GetBytes(parametri)
    'parametri = la stringa contenente i dati da inoltrare
    </code>
    io devo passare un file .xml, qui non devo mettere il contenuto ma il nome del campo contenente giusto?

    <code>
    Try
    objRes = CType(objReq.GetResponse(), Net.HttpWebResponse)
    Catch ex As Exception
    ' catch eventuale errore
    End Try
    </code>
    in questo modo riesco ad ottenere l'header?

    Grazie
    Ciao
    Giu

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    parametri = la stringa contenente i dati da inoltrare

    i parametri sono anche le query string ????

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Originariamente inviato da cassano
    i parametri sono anche le query string ????
    I parametri è la query string.

    Nel caso richiesto dovrebbe essere l'xml o forse valore=xml. Ma dipende da come richiesto questo XML, se un web service molto probabilmente la richiesta potrebbe essere in standard SOAP.

    Un esempio... questa pagina ha tra l'altro:
    <input type="hidden" name="action" value="postreply">
    <input type="hidden" name="threadid" value="921359">

    ponendo siano solo quelli da inoltrare via post, "parametri" sarà:
    action=postreply&threadid=921359

    La stringa è esattamente come per il GET, cambia solo come vengono inoltrati.

    x l'header bisogna usare Headers dell'oggetto di risposta, nel mio esempio objRes.

    codice:
    Dim I As Interger
    For I = 0 To objRes.Headers.Count - 1
        'objRes.Headers.Keys(i).ToString()
        'objRes.Headers.ToString()
    Next
    Ans.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.