HttpClient (gb.net.curl)
Propriétés statiques héritées
Méthodes statiques
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