webHttpReq

4.10/3
Scarica una pagina o file da Internet.

Sintassi

EH_WEB *    webHttpReq( CHAR *  pszUrl,
                        CHAR *  pszReq,
                        void *  (*funcNotify)(EH_WEB *,EN_MESSAGE cmd,LONG Info,void *),
                        BOOL    bAsync,
                        INT     iTimeoutSec,
                        EN_WPA  enWpa);

Parametri


Valori di ritorno

Ritorna la struttura EH_WEB valorizzata.

Commenti

La funzione esegue una download di una pagina internet con protocollo http: il risultato viene inserito all'interno della struttura allocata di ritorno EH_WEB.
La struttura viene sempre ritornata: se la richiesta va a buon fine psWeb->enError è uguale a 0 e la pagina/file viene allocata in psWeb->pData.
La richiesta può essere di tipo sincrono o asincrono.
// Nuovo sistema sincrono
EH_WEB *psWeb;
psWeb=webHttpReq(szUrl,"GET",NULL,false,0,0);
if (!psWeb->sError.enCode) { // Leggi pagina caricata }
webHttpReqFree(psWeb);

Uso Asincrono

In caso di uso asincrono la funzione ritorna immediatamente.
La funzione funcNotify associata viene chiamata diverse volte con valori di EN_MESSAGE differenti per permettere di seguire lo scaricamento della pagina.
L'ultimo messaggio inviato è WS_CLOSE sia che il caricamento sia andato a buon fine oppure no.

// Funzione per prendere il valore di ritonro in modo Asincrono
static void * _webUpdateControl(EH_WEB *psWeb,EN_MESSAGE enMess,LONG info ,void *ptr) {
 
    EH_JSON * psJson;
    BYTE *pMode;
    SINT iMode=0;
 
    if (enMess!=WS_CLOSE) return NULL;
 
    if (psWeb->enError) {
        printf("## errore: %d" CRLF,psWeb->enError);
        return NULL;
    }
 
// Valore in psWeb->pData .. esempio
    psJson=jsonCreate(psWeb->pData,NULL);
    .
    .
    .
 
    psJson=jsonDestroy(psJson);
    return NULL;
}
Easyhand C/C++: webHttpReq | Last modified: 10/10/2020 16.22.52 Europe/Rome | #1.1409
P.. 550
Easyhand C/C++
Una mano alle tue idee.
Privacy Policy