ASP.NET - COMMENT OBTENIR LE CONTENU D'UNE PAGE WEB DISTANTE DANS SA PAGE COURAN

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 5 oct. 2004 à 21:52
cs_JeanTeuF Messages postés 9 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 7 octobre 2008 - 30 sept. 2008 à 11:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26619-asp-net-comment-obtenir-le-contenu-d-une-page-web-distante-dans-sa-page-courante

cs_JeanTeuF Messages postés 9 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 7 octobre 2008
30 sept. 2008 à 11:52
euh suis le seul à me posé la question :

On le met ou ton code ? lol
hidja8 Messages postés 1 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 2 août 2006
2 août 2006 à 14:43
peut on avoir un code equivalent en ASP, pour ceux qui font pas le .NET
cs_NeverDie Messages postés 7 Date d'inscription mardi 30 mai 2006 Statut Membre Dernière intervention 30 août 2006
29 juin 2006 à 22:13
J'avais trouvé la réponse à ma question en continuant de cherché et cet exactement ce que j'ai utilisé et ça fonctionne parfaitement.

merci
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
29 juin 2006 à 21:02
Essaye avec default de credential.
cs_NeverDie Messages postés 7 Date d'inscription mardi 30 mai 2006 Statut Membre Dernière intervention 30 août 2006
29 juin 2006 à 16:15
Quand on affecte le credential : Marequest.Credentials = New System.Net.NetworkCredential("LECOMPTE", "LEMOTDEPASSE")

Il n'y aurais pas moyen de lui passer l'authentification windows :
Marequest.Credentials = New System.Net.NetworkCredential(windows authentification).

Dans les variables d'Environment on peut avoir le nom de l'utilisateur et le nom de domaine, mais on ne peut pas récupérer le mot de passe.

Si quelqu'un a une idée se serais bien apprécié.
cs_stailer Messages postés 507 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 13 mai 2009 1
10 janv. 2006 à 02:28
merci pour cet exemple, mais il ne m'affiche pas les images.. je pense que c'est la même chose pour tout le monde ?

Voilà ma solution, en admettant qu'on récupère www.google.fr :
Response.Write(""+streamRead.ReadToEnd());
anselmejour Messages postés 28 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 9 octobre 2006
24 oct. 2005 à 07:18
utf-8 a jamais garde les accents !

c'est encoding.getencoding("iso-8859-1")

plus dans le web.config

<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" fileEncoding="iso-8859-1" />
llefe Messages postés 4 Date d'inscription jeudi 21 août 2003 Statut Membre Dernière intervention 23 juin 2006
26 juil. 2005 à 15:59
Réponse à lolofb
je crois que c'est ton getResponse (myWebResponse) qui ne respecte pas le caractère set,
moi j'utilise un encoding pour la reception et l'ecriture
Dim Encoding As System.Text.Encoding = _
System.Text.Encoding.GetEncoding("utf-8")
'puis
strOut = Encoding.GetString(WebClient1.DownloadData(remoteScript))
'Ecriture du résultat dans un fichier:
Dim sw As StreamWriter = New StreamWriter("Seminaire.txt", False, Encoding)
sw.Write(strOut)
sw.Close()
(bien sur tu n'est pas obligé de l'écrire dans un fichier
car à mon avis la redirection de ton streamreader fonctionne.)
lolofb Messages postés 4 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 19 mai 2005
19 mai 2005 à 18:14
Bonjour,
J'ai un code à peu près similaire. Personne ne rencontre de problème avec les caractères accentués (non encodés strictement HTML, ie é ...) ?
J'ai essayé les format d'encoding proposés par le .net (ascii, unicode, utf7, 8...) sans résultat.
Un exemple : lancement sur www.google.fr => je n'ai pas les accents.

Merci de votre aide.

Une partie de mon code...
-----------------------------------------------
WebRequest myWebRequest=WebRequest.Create("http://www.google.fr");
myWebRequest.Timeout=CST_TIMEOUT;
WebResponse myWebResponse=myWebRequest.GetResponse();

// Lecture du flux et enregistrement dans une stringbuilder
Stream oS = myWebResponse.GetResponseStream();
StreamReader oSReader = new StreamReader(oS, System.Text.Encoding.UTF8);

Console.WriteLine(oSReader.ReadToEnd()); // ** Pas d'accents à l'affichage (ni quand j'enregistre dans un fichier texte) **
oSReader.Close();
oS.Close();
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
5 oct. 2004 à 21:52
pas mal

mais il pourrait y avoir une gestion plus fine des erreurs :)

comment savoir si la page existe ou pas, ce serait bien d'indiquer s'il y a eu une 404 etc ...

on pourrait aussi faire ca :

catch e1 as SecurityException
'The caller does not have permission to connect to the requested URI or a URI that the request is redirected to.
catch e2 as UriFormatException
The URI specified in requestUriString is not a valid URI.

Tout ca serait vraiment le top du top ;)