2012-04-24 8 views
1

私のasp.net MVCアプリケーションで、これは私のURLの1つを呼び出しているfacebookかどうかを知ろうとしていますFBステータスとFBはopengraphのメタタグを取得しようとします)。私は空のURlReferrerと、IPアドレスを示すUserHostNameを試してみました。 Tejsが示唆するようにあなたが行うことができfacebookで作成したWebアプリケーションの呼び出しを検出しようとしています

+1

IPアドレスのDNSルックアップを試行できますか? – Tejs

答えて

0

、のようなもの:これがそうのように行うことができるように

IPHostEntry IpEntry = Dns.GetHostByAddress(HttpContext.Current.Request.UserHostAddress); 
//OR 
IPHostEntry IpEntry = Dns.GetHostByAddress(HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]); 
if(IpEntry.HostName.Contains("facebook.com")) 
{ 
    //Coming from facebook.com 
} 
0

は思え:

if ((!string.IsNullOrWhiteSpace(HttpContext.Request.UserAgent) && HttpContext.Request.UserAgent.ToLower().Contains("facebookexternalhit")) || 
    ((HttpContext.Request.UrlReferrer != null) && HttpContext.Request.UrlReferrer.Host.ToLower().Contains("facebook.com"))) 

Facebookはopengraphデータをつかむか、誰か場合されている場合、私は知っている。この方法Facebookのページから共有リンクをクリックします。

関連する問題