Bonjour,
Comment récupérer le code HTML d'une page web par son URL?
Merci!
Version imprimable
Bonjour,
Comment récupérer le code HTML d'une page web par son URL?
Merci!
Salut,
avec la classe HttpWebResponse je pense que ça devrait marcher :
Code:
1
2
3
4
5
6
7
8
9
10 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"myUrl"); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream mystream = response.GetResponseStream()) { using (StreamReader mystreamreader = new StreamReader(mystream, Encoding.UTF8)) { string stream = mystreamreader.ReadToEnd().Replace("\r\n", "\n").Replace("\n", "\r\n"); } }
J'ai testé ce code.Code:
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 private static string GetCodePage(string url) { string codeSource; codeSource = ""; HttpWebRequest request = null; HttpWebResponse reponse = null; StreamReader streamReader = null; try { request = (HttpWebRequest)WebRequest.Create(url); reponse = (HttpWebResponse)request.GetResponse(); streamReader = new StreamReader(reponse.GetResponseStream(), System.Text.Encoding.GetEncoding("iso-8859-1")); codeSource = streamReader.ReadToEnd(); } catch { codeSource = null; } finally { if (reponse != null) reponse.Close(); if (streamReader != null) streamReader.Close(); } return codeSource; }
mais la page appelé nécessite un login et un mot de passe. J'ai le login et le mot de passe? alors que ce que je fait?
Merci
Bonjour,
L'API que j'utilisé en VB6 était la suivante :
On y déclaré un sAGENTCode:Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Sans réutilisé cette API en C#, comment le déclarer avec HttpWebResponse ?
Merci
Credentials.
:ccool:Merci bien!
Voilà le code finale!
Code:
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 private static string GetCodePage(string url, string login, string mdp, string domaine) { string codeSource; codeSource = ""; HttpWebRequest request = null; HttpWebResponse reponse = null; StreamReader streamReader = null; try { request = (HttpWebRequest)WebRequest.Create(url); request.Credentials = new NetworkCredential(login, mdp); reponse = (HttpWebResponse)request.GetResponse(); streamReader = new StreamReader(reponse.GetResponseStream(), System.Text.Encoding.GetEncoding("iso-8859-1")); codeSource = streamReader.ReadToEnd(); } catch { } finally { if (reponse != null) reponse.Close(); if (streamReader != null) streamReader.Close(); } return codeSource; }