Vb.Net WebBrowser Récupérer l'icône d'une page Web

Résolu
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 1 déc. 2016 à 14:42
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 3 déc. 2016 à 12:39
Bonjour,
J'ai fait des recherches sur comment récupérer l'icône d'une page Web avec WebBrowser, j'ai trouvé beaucoup de poste qui propose ce code :
Dim iconURL = "http://" & WebBrowser1.Url.Host & "/favicon.ico"
Label12.Text = iconURL
Dim request As System.Net.WebRequest = System.Net.HttpWebRequest.Create(iconURL)
Dim response As System.Net.HttpWebResponse = request.GetResponse()
Dim stream As System.IO.Stream = response.GetResponseStream()
Dim favicon = Image.FromStream(Stream)
If Stream.WriteTimeout Then
PictureBox1.Image = favicon
End If

Je ne dis pas que ce code ne fonctionne pas, mais il ne fonction pas pour tous les pages Web
Par exemple :
La Page Web : http://technique-pc.net/
L'icône ne se trouve pas dans : http://technique-pc.net/favicon.ico
L'icône se trouve dans : http://technique-pc.net/templates/dd_science_85/images/favicon.ico
//////////////////////////////////////////////////////////
La Page Web : https://www.transfernow.net/
L'icône ne se trouve pas dans : https://www.transfernow.net/favicon.ico
L'icône se trouve dans : https://www.transfernow.net/img/icon/apple/apple-touch-icon-precomposed-120x120.png
//////////////////////////////////////////////////////////
La Page Web : https://toolslib.net/
L'icône ne se trouve pas dans : https://toolslib.net/favicon.ico
L'icône se trouve dans : https://toolslib.net/assets/img/favicon.png
//////////////////////////////////////////////////////////
La Page Web : http://www.japscan.com/
L'icône ne se trouve pas dans : http://www.japscan.com/favicon.ico
L'icône se trouve dans : http://cdn.japscan.com/img/favicon.png
//////////////////////////////////////////////////////////
La Page Web : https://play.google.com/
L'icône ne se trouve pas dans : https://play.google.com/favicon.ico
L'icône se trouve dans : https://www.gstatic.com/android/market_images/web/favicon_v2.ico
//////////////////////////////////////////////////////////
La Page Web : http://www.t411.li
L'icône ne se trouve pas dans : http://www.t411.li/favicon.ico
L'icône se trouve dans : http://www.t411.li/images/default.png
//////////////////////////////////////////////////////////
PS : j'ai récupérer l'URL de l'icône dans le code source de la page Web
Aurait-il un autre moyen de récupérer l'icône à part le code que j'ai met plus haut?

2 réponses

kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
3 déc. 2016 à 11:02
Bonjour
ça fait déjà 3 jours que je cherche une solution, malheureusement je n'ai rien trouver, alors j'ai décidé de changer la méthode de rapproche.
la méthode consiste à :
1. Récupérer le code source de la page Web
2. Récupérer la ligne ou le mot "icon" se trouve (j'ai remarqué que la page Web contient beaucoup d'icônes, mais l'icône de la page web en question est toujours la première)
3. Récupère l'URL de l'icône à partire de la ligne récupérer, là j'ai eu un petit problème, quand tu ouvre une page web avec un navigateur par exemple google chrome et tu fais clique droit de la souris puis "afficher le code source de la page", l'URL de l'icône peut être complet ou non, si tu clique dessus une nouvelle page s'ouvre, s'il n'est pas complet il sera complété automatiquement.
il y a des cas où on peut deviner ce que va être ajouter, par exemple :
l'URL commence par :
/ -> on ajoute la racine du site web (WebBrowser1.Url.Host)
// -> on ajoute "https:"
Si il commence par https: ou par www. on n'ajoute rien
j'ai pu régler ces problèmes, jusqu'à la le code marche pour tous les pages Web
mais quand j'essaye d'ouvrir le code source d'Outlook par exemple l'URL de l'icône est : "favicon.ico" seulement, est quand il sera complété "https://outlook.live.com/owa/favicon.ico", on ne peut pas deviner "owa" et on ne peut pas juste faire comme ça "https://outlook.live.com/owa/favicon.ico" cela ne fonctionnera pas
si quelqu'un a d'autre idée je suis tout oui
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
3 déc. 2016 à 12:39
ReBonjour ,
J'ai fais des recherches sur comment récupérer l'icône d'une page Web sans utiliser aucun logiciel est j'ai trouvé ce super article qui résout tous mes problèmes :
http://www.webynux.net/google/recuperer-rapidement-un-favicon.html/
voici le code en vb.net si quelqu'un en n'a besoin :
Sub Récupérer_icone_Page_Web()
Try
Dim iconURL = "http://www.google.com/s2/favicons?domain=" & WebBrowser1.Url.Host
Label12.Text = WebBrowser1.Url.Host
Dim request As System.Net.WebRequest = System.Net.HttpWebRequest.Create(iconURL)
Dim response As System.Net.HttpWebResponse = request.GetResponse()
Dim stream As System.IO.Stream = response.GetResponseStream()
Dim favicon = Image.FromStream(stream)
If stream.WriteTimeout Then
PictureBox1.Image = favicon
End If
Catch ex As Exception

End Try
End Sub

0
Rejoignez-nous