HttpClient (gb.net.curl)

Cette classe hérite Curl.

Cette classe est instanciable.

Propriétés statiques héritées
DefaultProxy  

Méthodes statiques
Download  

Propriétés
Auth   Retourne ou définit le mode d'authentification HTTP à utiliser.
Code   Retourne le code de status HTTP envoyé par le serveur.
CookiesFile   Retourne ou définit le fichier qui sera employé pour lire et stocker les cookies.
Encoding   Retourne ou définit l'en-tête HTTP "Accept-Encoding" (accepte encodage).
Headers   Retourne les en-têtes HTTP sous forme d'un tableau de String.
Reason   Retourne la chaîne de raison HTTP.
Redirect  
UpdateCookies   Retourne ou définit si les cookies doivent être mis à jour.
UserAgent   Retourne ou définit l'agent utilisateur (UserAgent) employé pour effectuer la requête.
Version  

Propriétés héritées
Async   Retourne ou établit si la requête FTP/HTTP doit être asynchrone.
Blocking   Retourne ou définit si le flux est bloquant.
BufferSize  
ByteOrder   Retourne ou indique l'ordre des octets utilisé pour lire ou écrire des données binaires dans un flux.
Debug   Retourne ou définit le mode de debogage .
Downloaded  
EndOfFile   Cette propriété signale si la dernière utilisation de LINE INPUT a atteint la fin du fichier au lieu de lire une ligne entière avec un caractère de fin de ligne.
EndOfLine   Retourne ou indique le retour de chariot utilisé par ce flux.
Eof  
ErrorText   Retourne la chaine d'erreur associée au code d'erreur renvoyé par la bibliothèque curl.
Handle   Retourne le descripteur de fichier système associé au flux Stream.
IsTerm  
Lines   Retourne un objet virtuel qui permet d'énumérer un flux ligne par ligne.
NoShare  
NullTerminatedString  
Password   Retourne ou établit le mot de passe utilisé pour autorisation.
Proxy   Retourne un objet virtuel utilisé pour définir les paramètres du proxy.
SSL  
Status   Retourne l’état du client.
Tag   Retourne ou définit l’étiquette associée au flux.
TargetFile  
Term  
Timeout   Retourne ou définit la durée limite client en secondes.
TotalDownloaded  
TotalUploaded  
URL   Retourne ou établit l’URL de la ressource a télécharger.
Uploaded  
User   Retrne ou établit l'utilisateur concerné par l'autorisation.

Méthodes
CopyFrom  
Get   Cette Méthode produit un appel au serveur http en utilisant la méthode standard 'GET'.
Head  
Post   Cette Méthode effectue un appel au serveur http en utilisant la méthode standard 'POST'.
PostFile  
Put   Envoie des données à une URL spécifique par la méthode "PUT".
PutFile  
Stop   Avorte la requête.

Méthodes héritées
Begin   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.
Close   Ferme le flux.
Drop   Dépose les données mises en tampon depuis le dernier appel à la méthode Begin.
Peek   Retourne le contenu du tampon flux interne.
ReadLine   Lit une ligne de texte dans le flux, comme l'instruction LINE INPUT.
Send   Envoie toutes les données depuis le dernier appel à Begin en une seule salve.
Watch  

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

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