Visualizzazione dei risultati da 1 a 6 su 6

Discussione: WebClient & POST

  1. #1

    WebClient & POST

    ciao,
    allora dopo aver penso tempo ad utilizzare il WebBrowser visto la facilità d'uso in VB6, sono passato dopo un pò di problemi al WebClient.

    Diciamo che sono riuscito a fare quello che dovevo fare ovvero, caricare una pagina, grabbare del testo, fare il login attraverso .asp?user=zzzz&pwd=zzzz

    ora però mi trovo alla pagina finale finale.asp

    in questa pagina c'è un bel form da compilare e un bel pulsante invia.
    Come faccio a compilarlo ed a simulare il pulsante di submit?

    PS. in VB6 con WebBroweser è una vera stupidagggine, se mi credo una DLL in VB6, la potrei riutilizzare in .net?


    ciao

  2. #2
    Devi passare gli stessi dati eventualmente inseriti nel form alla pagina "destinazione". Un trucco per far questo lo trovi spiegato qui:
    http://www.aspitalia.com/liste/usag/script.aspx?ID=584

    Per sapere quali campi sono passati ti è sufficiente una lettura del codice html della pagina contenente il form.

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  3. #3
    il mio what è di questo tipo:

    var1=12345&var=3243&var3=dsfdsfdds

    svolgo tutta la procedura come da link, ma non funziona.

    conta che ho fatto le prove con un mio form su un mio sito.

  4. #4
    Se utilizzi il modo "GET", modifica la linea di richiesta:
    codice:
    WebClient http = new WebClient();
      Byte[] bResult = http.UploadFile(url, "GET", what);
    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

  5. #5
    codice:
    download = PostUrl("http://www.sito.it/asp/pagina.asp", parametri);	
    
    string PostUrl(string url, string what) 
    {
    // WebClient ed upload del file via POST
    	WebClient http = new WebClient();
    	byte[] byteArray = Encoding.ASCII.GetBytes(what);
    
    	Byte[] bResult = http.UploadData(url, "GET", byteArray);
    
    // de-encoding dei dati e conversione in stringa
    	Encoding objEncoded = Encoding.GetEncoding("iso-8859-1");
    	return objEncoded.GetString(bResult);
    }
    
    string GetParam()
    {
    	string param="";
    	param+="nominativo=Daniele&";
    	param+="email=miaemail@email.it&";
    	param+="tel=5151515&";
    	param+="citta=roma&";
    	param+="oggetto=oggetto&";
    	param+="messaggio=messaggio";
    	return param;
    }
    l'email non arrivano

    se lo faccio manualmente sul sito invece funziona, però aggiungo il "?" a manella.

    da quando ho messo GET va in eccezione il metodo UploadData

  6. #6
    Aspetta, ho trovato il problema. Non devi usare il metodo "UploadData" come in quell'esempio, ma "DownloadData". Per esempio:
    codice:
    Byte[] bResult = http.DownloadData(url);
    Naturalmente devi accodare all'url tutti i parametri...

    Ciao
    AZ [Microsoft - .NET MVP]
    Mia Home page: http://ciclismo.sitiasp.it
    Asp.Net community: http://www.aspitalia.com
    Il mio blog: http://blogs.aspitalia.com/az

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.