Documentation de Gambas - /comp/gb.net.curl/httpclient

/comp/gb.net.curl/httpclient
Le page anglaise est plus récente.

# HttpClient (gb.net.curl)

Cette classe hérite Curl.
Cette classe est
Crée un nouveau client HTTP.
instanciable
.

Propriétés | Méthodes | Evénements
--- | --- | ---

Retourne ou établit si la requête FTP/HTTP doit être asynchrone.
Async
Retourne ou définit le mode d'authentification HTTP à utiliser.
Auth
Retourne ou définit si le flux est bloquant.
Blocking
Retourne ou indique l'ordre des octets utilisé pour lire ou écrire des données binaires dans un flux (flux).
ByteOrder
Retourne le code de status HTTP envoyé par le serveur.
Code
Retourne ou définit le fichier qui sera employé pour lire et stocker les cookies.
CookiesFile
Retourne ou définit le mode de debogage .
Debug
Downloaded
Retourne ou définit l'en-tête HTTP "Accept-Encoding" (accepte encodage).
Encoding
Cette propriété retourne si la dernière utilisation de LINE INPUT a permis d'atteindre la fin du fichier au lieu d'atteindre simplement la fin de la ligne.
EndOfFile
Retourne ou indique le retour de chariot utilisé par ce flux.
EndOfLine
Retourne la chaine d'erreur associée au code d'erreur renvoyé par la bibliothèque curl.
ErrorText
Retourne le descripteur de fichier du système associé au flux Stream.
Handle
Retourne les en-têtes HTTP sous forme d'un tableau de String.
Headers
Retourne un objet virtuelqui permet d'énumérer un flux ligne par ligne.
Lines
Retourne ou établit le mot de passe utilisé pour autorisation.
Password
Retourne un objet virtuel utilisé pour définir les paramètres du proxy.
Proxy
Retourne la chaîne de raison HTTP.
Reason
SSL
Retourne l’état du client.
Status
Retourne ou définit l’étiquette associée au flux.
Tag
TargetFile
Retourne ou définit la durée limite client en secondes.
Timeout
TotalDownloaded TotalUploaded
Retourne ou établit l’URL de la ressource a télécharger.
URL
Retourne ou définit si les cookies doivent être mis à jour.
UpdateCookies
Uploaded
Retrne ou établit l'utilisateur concerné par l'autorisation.
User
Retourne ou définit l'agent utilisateur (UserAgent) employé pour effectuer la requête.
UserAgent

Démarre la mise en tampon des données écrites dans le flux, de manière à ce que tout soit envoyé lors de l'appel à la Méthode Send.
Begin
Ferme le flux.
Close
CopyFrom
Dépose les données mises en tampon depuis le dernier appel à la Méthode Begin.
Drop
Cette Méthode produit un appel au serveur http en utilisant la méthode standard 'GET'.
Get
Retourne le contenu du tampon flux interne.
Peek
Cette Méthode effectue un appel au serveur http en utilisant la méthode standard 'POST'.
Post
PostFile
Envoie des données à une URL spécifique par la méthode "PUT".
Put
PutFile
Lit une ligne de texte dans le flux, comme l'instruction LINE INPUT.
ReadLine
Envoie toutes les données depuis le dernier appel à Begin en une seule salve.
Send
Avorte la requête.
Stop

Cancel
Drapeau levé lorsqu'une connexion est établie.
Connect
Drapeau levé lorsqu'une erreur a été retournée par la bibliothèque CURL.
Error
Drapeau levé quand une commande se termine correctement.
Finished
Progress
Drapeau levé lorsque des données ont été reçues.
Read

### Exemples

    'Comment télécharger un fichier de manière synchrone depuis internet.
    'Le 17-juin-2007, Daniel Compos a rédigé ceci pour Gambas v 1.9.49+ :
    'Mettre la propriété "Async" à FALSE avant le Get(), de cette façon
    'Get() arrêtera le flux du programme tant que toutes les informations ne seront pas reçues.
    'Dans ce cas vous pouvez également utiliser la propriété "TimeOut" pour fixer un délai de réponse.
    'SINON, vous pourriez attendre indéfiniment si le server ne répond pas correctement.

    Public Sub GetFile()

      Dim hClient As HttpClient
      Dim sBuffer As String

      hClient = New HttpClient AS "hClient"
      hClient.URL = "http://elinks.or.cz/"
      hClient.Async = FALSE
      hClient.Timeout = 60
      hClient.Get

      Print "Begin"
      If hClient.Status < 0 Then
        Print "ERROR"
      Else
        ' Succès - données lue.
        If Lof(hClient) Then sBuffer = Read #h, Lof(hClient)
        Print sBuffer
      End If

      Print "end"

    END

### Example n°2

Ce deuxième exemple montre comment on peut télécharger un fichier depuis internet de manière asynchrone.

Il appelle la Méthode `DownloadAsync` avec votre URL. Puis, quand le téléchargement est complet, il affiche l'HTML reçu dans le gestionnaire d'Evènement Finished.

    'Comment télécharger un fichier depuis internet de manière asynchrone.

    Public hAsyncClient As New HttpClient AS "hAsyncClient"
    Private sDownloadBuffer As String

    Public Sub DownloadAsync(URL As String)

      sDownloadBuffer = ""
      hAsyncClient.URL = URL
      hAsyncClient.TimeOut = 20
      hClient.Async = TRUE
      hAsyncClient.Get()

    End

    Public Sub hAsyncClient_Connect()

      Print "Connecté à " & hAsyncClient.URL

    End

    Public Sub hAsyncClient_Read()

      Dim sBuffer As String

      sBuffer = Read #Last, Lof(Last)
      sDownloadBuffer &= sBuffer

    End

    Public Sub hAsyncClient_Error()

      Print "Erreur " & hAsyncClient.Status & " en téléchargeant " & hAsyncClient.URL

    End

    Public Sub hAsyncClient_Finished()

      Print sDownloadBuffer

    End