In this article, I will show you how to extract favicon from a web page using webpage URL. When you pass URL of web page to the function and it will result the icon of the website.
Step 1: Create an asp.net mvc project and right click on the controller folder and create a new controller and name it as HomeController. Inside the HomeController copy and paste the following code.
Home controller:
public JsonResult GetFavicon(string url)
{
string htmlCode;
string faviconurl="";
using (WebClient client = new WebClient())
{
htmlCode= client.DownloadString(url);
}
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(htmlCode);
if (doc.DocumentNode != null)
{
foreach (HtmlNode link in doc.DocumentNode.SelectNodes(@"//link[@href]"))
{
HtmlAttribute att = link.Attributes["href"];
if (att.Value.EndsWith(".ico"))
{
faviconurl = att.Value;
}
}
}
return Json(faviconurl, JsonRequestBehavior.AllowGet);
}
Step 2: Right click on the index method and create a razor view and name it as index. Copy and paste the following code.
View.cstml:
$.ajax({
type: "POST",
url: '@Url.Action("GetFavicon", "Home", new { area = "" })',
contentType: "application/json;charset=utf-8",
data: "{'url': " +JSON.stringify($("#txtUrl").val()) + "}",
datatype: "JSON",
success: function (response) {
$("#favIcon").attr("src", response);
}
});