Favicon ohne Download

    • VB.NET

    Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von MrFingersk8te.

      Favicon ohne Download

      Hallo Community,
      ich wollte hier mal reinstellen wie man ein Favicon ohne einen Download also ohne das man die datei in einem Ordner hat bekommt.

      Quellcode

      1. Imports System.Net
      2. Imports System.IO
      3. Public Class FaviconDownloader
      4. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      5. PictureBox1.BackgroundImage = GetFavicon(New Uri(ÜberprüfeURL(TextBox1.Text)))
      6. End Sub
      7. Function GetFavicon(ByVal URl As Uri) As Image
      8. Dim dURl As String = URl.Authority
      9. Dim dieUrl As String = ÜberprüfeURL(dURl) 'Url wird überprüft (http davor gesetzt
      10. Dim Req As WebRequest = WebRequest.Create(dieUrl & "/favicon.ico") 'Eine neue Anfrage wird erstellt für das icon
      11. Dim res As WebResponse = Req.GetResponse 'Die antwort wird geholt
      12. Dim s As New StreamReader(res.GetResponseStream) 'Der Antwort Stream wird ausgelesen mit einem StreamReader
      13. Dim bild As Image = Image.FromStream(s.BaseStream) 'Das Bild wird von dem Stream erstellt
      14. Return bild 'Das Bild wird zurückgegeben
      15. End Function
      16. Function ÜberprüfeURL(ByVal URL As String) As String
      17. Dim fertig As String = URL
      18. If Not fertig.StartsWith("http://") Then fertig = "Http://" & URL
      19. Return fertig
      20. End Function
      21. End Class


      Ich hoffe ich konnte einigen weiterhelfen!
      EDIT: man kann jetzt jede beliebige Seite eingeben zB:

      Quellcode

      1. http://www.vb-paradise.de/index.php?form=PostEdit&postID=126163

      dann sucht er sich den Hauptteil herraus - in diesem Fall vb-paradise.de - und zeigt das Favicon davon an!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „progglord“ ()

      Naja, gedownloadet wird ja trotzdem, so oder so... nur einmal übernimmt es Windoof und einmal muss man es selbst machen. Aber: Die Url zum Favicon liegt in der Regel in

      [WebBrowser].Document.Domain & "\favicon.ico"

      Sonst klappt´s evt. nicht auf allen Websites.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kevin89“ ()

      Es kann aber auch sien, dass das Favicon im Html-index in einen Unterordner definiert wurde. Deshalb sollte man das dokument auslesen und dann den Pad zum favon mit der document url zusammensetzen.
      Von meinem iPhone gesendet
      hi. ich habe den code so, dass wenn ich den Tab ändere (ich benutze TabControl), dass dann das Favicon neu geladen wird. Wenn ich auf eine Website ohne Favicon komme, stürzt das Programm ab. VB markiert diesen teil gelb:
      Dim bild As Image = Image.FromStream(s.BaseStream)

      Kann mir jemand helfen des so zumachen dass wenn ich in einem Tab so eine Website ohne fav habe, dass dann das errorimage anstatt des favicons angezeigt wird? ich hab schon rumprobiert etc. aber nix hat geklappt. Ich benutze VB 2008.

      Thx im vorraus