Bonjour,

Quelqu'un peut m'éclairer SVP

Voilà, je fait des requêtes web pour enregistrer le contenu d'une page web en format .txt. tout ce passe bien, mais parfois, j'ai quelques messages d'erreur dont un me cause un peut de soucci.

Lorsque je reçois le message

Le délai d'attente de l'opération a expiré.
mon ancien fichier txt de récupération est effacé et du coup la date de modification est renouvelée.

Donc, j'aurais besoin de faire lever l'exeption du objWebResponse.GetResponseStream() avant l'ouverture de mon streamwriter.

Voici mon code et merci à l'avance de vos suggestions
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Sub RequWeb2(ByVal Val As String, ByVal Marcher As String)
        Dim Adresse As String = "http://tmx.quotemedia.com/quote.php?qm_symbol=" & Val & "&locale=FR"
        Dim ValExcept As String
 
        ValExcept = Val
        If Val = "AUX" Then
            ValExcept = Val & "Except"
        End If
        Dim objWebRequest As System.Net.WebRequest = Nothing
        Dim objWebResponse As System.Net.WebResponse = Nothing
        ' Création de la requête
        objWebRequest = System.Net.HttpWebRequest.Create(Adresse)
        Try
            ' Envoi de la requête au serveur
            objWebResponse = objWebRequest.GetResponse()
            Console.WriteLine(ValExcept & "objWebResponse.ContentLength " & objWebResponse.ContentLength.ToString)
            'Vérifie que la réponse contient des données
            Dim objStreamReader As System.IO.StreamReader = Nothing
            ' Stream pour récupérer le résultat
            objStreamReader = New StreamReader(objWebResponse.GetResponseStream(), Encoding.Default)
                Dim Sw As New StreamWriter(My.Settings.MonPath & Marcher & "\" & ValExcept & "\" & ChoixDePage & ".txt")
                ' Lecture du résultat
                Sw.WriteLine(objStreamReader.ReadToEnd)
                Sw.Close()
            If Marcher = "T" Then
                QuTorontoRecup.Enqueue(ValExcept)
                Console.WriteLine("il y a {0} de récupéré", QuTorontoRecup.Count.ToString)
                'Envoi le résultat vers un label
                DelRecToronto(QuTorontoRecup.Count.ToString)
            End If
            If Marcher = "V" Then
                QuVancouverRecup.Enqueue(ValExcept)
                Console.WriteLine("il y a {0} de récupéré", QuVancouverRecup.Count.ToString)
                'Envoi le résultat vers un label
                DelRecVancouver(QuVancouverRecup.Count.ToString)
            End If
        Catch ex As Exception
            Console.WriteLine("Erreur1 ObjWebResponse: " & ValExcept & " " & ex.Message)
            'Message d'erreur rencontré
            'La demande a été abandonnée*: Le délai d'attente de l'opération a expiré..
            'Le délai d'attente de l'opération a expiré.
            'Ce flux ne prend pas en charge les opérations de recherche.
            'Console.WriteLine("Err1 " & objWebResponse.GetResponseStream.Length)
            'Envoi le résultat vers un RichTextBox
            DelRTBEchec("Erreur1 ObjWebResponse: " & CStr(ValExcept & " " & ex.Message) & vbCrLf)
            If Marcher = "T" Then
                QuTorontoExept.Enqueue(ValExcept)
                'Envoi le résultat vers un label
                DelEchToronto(QuTorontoExept.Count.ToString)
            End If
            If Marcher = "V" Then
                QuVancouverExcept.Enqueue(ValExcept)
                'Envoi le résultat vers un label
                DelEchVancouver(QuVancouverExcept.Count.ToString)
            End If
        Finally
            ' Fermeture de la connexion
            If Not objWebResponse Is Nothing Then
                objWebResponse.Close()
            End If
        End Try
            End Sub