Classe HTTP inputstream (C ++)
-
06-07-2019 - |
Domanda
Attualmente sto lavorando a un progetto che fa molte richieste HTTP per i dati di cui ha bisogno. Funziona scrivendo tutti i dati in un buffer, quindi restituendo quel buffer al chiamante. Sembra che aspettare che l'intero file scarichi dati che possono essenzialmente essere trasmessi in streaming è una cattiva idea.
Domanda 1: esiste già una libreria / codice pubblico in grado di effettuare richieste HTTP e HTTP autenticate che funziona come flusso?
Domanda 2: se non esiste una libreria simile, perché no? C'è una ragione per cui una cosa del genere non è mai stata necessaria?
Soluzione
Non sono a conoscenza di una libreria esistente, ma non dovrebbe essere troppo difficile avvolgere Curl (o WinInet , se questo è la tua tazza di tè) con Boost.Iostreams .
Altri suggerimenti
Non sarebbe troppo difficile ottenere boost: : asio per farlo, ma per quanto ne so, non ha il protocollo HTTP incorporato (e non riesco a pensare a una libreria che lo faccia, o perché no), quindi avresti per scrivere l'intestazione / analisi del corpo (potrebbe essere noioso e soggetto a errori).
Alcuni googling hanno escogitato alcuni tentativi in ??questo, in questo modo .
Esistono molte librerie C che gestiscono le richieste http e la ragione per cui sono in C piuttosto che in C ++ è semplicemente perché C ++ può facilmente usare le librerie C, ma il contrario non è del tutto vero .
Pertanto, una libreria C è utile in entrambi i mondi ...
libwww è la libreria W3C per le funzioni http.
Curl ha anche una libreria con un C ++ progetto wrapper .
Questo sembra essere quello che stai cercando: