Bonjour,

Le code ci dessous, permet de lire un flux http d'un fichier se trouvant sur un serveur distant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'Create an internet connection
hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
If CBool(hOpen) Then
    'Ouverture du pointeur HTTP
    hConnect = InternetConnect(hOpen, stUrlDeb, INTERNET_DEFAULT_HTTP_PORT, vbNullString, _
                vbNullString, INTERNET_SERVICE_HTTP, 0, 0)
    If hConnect > 0 Then
        'Préparation de l'ouverture de la page
        hRequest = HttpOpenRequest(hConnect, "GET", stUrlFin, "HTTP/1.0", vbNullString, 0, _
                INTERNET_FLAG_KEEP_CONNECTION, 0)
        If CBool(hRequest) Then
            'sHeader = "Connection: Keep-Alive" & vbCrLf
            'iRetVal = HttpAddRequestHeaders(hRequest, sHeader, Len(sHeader), HTTP_ADDREQ_FLAG_REPLACE Or HTTP_ADDREQ_FLAG_ADD)
            'Debug.Print iRetVal & " " & sHeader;
            iRetVal = HttpSendRequest(hRequest, vbNullString, 0, vbNullString, 0)
.....
Le problème est le suivant :
Quand le serveur est très lent à répondre (pas quand il est down car sinon un code retour envoyé), l'api HttpSendRequest attend une réponse et reste donc bloquée (parfois plusieurs minutes ...).
Du coup, mon application se "gèle" ce qui est très génant !

Y'a-t-il un moyen de gérer un timeout sur cette api ? Ou alors de pouvoir stoper l'exécution de cette api ?

Merci d'avance pour votre aide.

++