Je souhaite r=E9cup=E9rer le contenu d'une page html acc=E9ssible sur mon
r=E9seau interne via http. HttpWebRequest et son compl=E9ment
HttpWebResponse me semblent tout indiqu=E9s pour faire =E7a. En gros,
j'utilise ce petit bout de code :
//Je cr=E9e une requ=E8te vers mon url
HttpWebRequest HttpWRequest =3D
(HttpWebRequest)WebRequest.Create(TextBox1.Text);
/Je r=E9cup=E8re la r=E9ponse
HttpWResponse =3D (HttpWebResponse)HttpWRequest.GetResponse();
//J'initialise un stream =E0 partir de cette r=E9ponse
StreamReader sr =3D new StreamReader(HttpWResponse.GetResponseStream());
//Et je r=E9cup=E8re le contenu du fichier
string content =3D sr.ReadToEnd();
.=2E.
Tout =E7a marche tr=E8s bien. Le seul pb est que le fichier source
contient des chemins relatifs vers des images et lorsque j'affiche le
contenu, les images n'apparaissent pas.
Qd je fais "clic-droit" sur l'image j'ai un truc du genre
"http://localhost/images/toto.gif" et forcemment =E7a ne marche pas. Je
souhaiterais que mon HttpWebRequest resolve les url des images afin que
je puisse les afficher. Est-ce possible?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Bacelar
Le plus simple est d'ajouter une balise <base href="..."> dans l'en-tête de votre page HTML récupéré.
-- Paul Bacelar
wrote in message news: Je souhaite récupérer le contenu d'une page html accéssible sur mon réseau interne via http. HttpWebRequest et son complément HttpWebResponse me semblent tout indiqués pour faire ça. En gros, j'utilise ce petit bout de code :
//Je crée une requète vers mon url HttpWebRequest HttpWRequest (HttpWebRequest)WebRequest.Create(TextBox1.Text);
/Je récupère la réponse HttpWResponse = (HttpWebResponse)HttpWRequest.GetResponse();
//J'initialise un stream à partir de cette réponse StreamReader sr = new StreamReader(HttpWResponse.GetResponseStream());
//Et je récupère le contenu du fichier string content = sr.ReadToEnd();
...
Tout ça marche très bien. Le seul pb est que le fichier source contient des chemins relatifs vers des images et lorsque j'affiche le contenu, les images n'apparaissent pas.
Qd je fais "clic-droit" sur l'image j'ai un truc du genre "http://localhost/images/toto.gif" et forcemment ça ne marche pas. Je souhaiterais que mon HttpWebRequest resolve les url des images afin que je puisse les afficher. Est-ce possible?
Merci
Le plus simple est d'ajouter une balise <base href="..."> dans l'en-tête de
votre page HTML récupéré.
--
Paul Bacelar
<fmeriot@gmail.com> wrote in message
news:1119967459.427848.29530@g49g2000cwa.googlegroups.com...
Je souhaite récupérer le contenu d'une page html accéssible sur mon
réseau interne via http. HttpWebRequest et son complément
HttpWebResponse me semblent tout indiqués pour faire ça. En gros,
j'utilise ce petit bout de code :
//Je crée une requète vers mon url
HttpWebRequest HttpWRequest (HttpWebRequest)WebRequest.Create(TextBox1.Text);
/Je récupère la réponse
HttpWResponse = (HttpWebResponse)HttpWRequest.GetResponse();
//J'initialise un stream à partir de cette réponse
StreamReader sr = new StreamReader(HttpWResponse.GetResponseStream());
//Et je récupère le contenu du fichier
string content = sr.ReadToEnd();
...
Tout ça marche très bien. Le seul pb est que le fichier source
contient des chemins relatifs vers des images et lorsque j'affiche le
contenu, les images n'apparaissent pas.
Qd je fais "clic-droit" sur l'image j'ai un truc du genre
"http://localhost/images/toto.gif" et forcemment ça ne marche pas. Je
souhaiterais que mon HttpWebRequest resolve les url des images afin que
je puisse les afficher. Est-ce possible?
Le plus simple est d'ajouter une balise <base href="..."> dans l'en-tête de votre page HTML récupéré.
-- Paul Bacelar
wrote in message news: Je souhaite récupérer le contenu d'une page html accéssible sur mon réseau interne via http. HttpWebRequest et son complément HttpWebResponse me semblent tout indiqués pour faire ça. En gros, j'utilise ce petit bout de code :
//Je crée une requète vers mon url HttpWebRequest HttpWRequest (HttpWebRequest)WebRequest.Create(TextBox1.Text);
/Je récupère la réponse HttpWResponse = (HttpWebResponse)HttpWRequest.GetResponse();
//J'initialise un stream à partir de cette réponse StreamReader sr = new StreamReader(HttpWResponse.GetResponseStream());
//Et je récupère le contenu du fichier string content = sr.ReadToEnd();
...
Tout ça marche très bien. Le seul pb est que le fichier source contient des chemins relatifs vers des images et lorsque j'affiche le contenu, les images n'apparaissent pas.
Qd je fais "clic-droit" sur l'image j'ai un truc du genre "http://localhost/images/toto.gif" et forcemment ça ne marche pas. Je souhaiterais que mon HttpWebRequest resolve les url des images afin que je puisse les afficher. Est-ce possible?