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
mon ancien fichier txt de récupération est effacé et du coup la date de modification est renouvelée.Le délai d'attente de l'opération a expiré.
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
Partager