私のasp.net MVCアプリでは、これが私のURLの1つを呼び出しているFacebookであるかどうかを調べようとしています(私のサイトへのリンクがFBステータスとして共有され、FBがopengraphのメタタグを取得しようとした場合)。空の URlReferrer と、IP アドレスを示す UserHostName を試しました。
質問する
208 次
2 に答える
0
Tejs が示唆するように、次のようなことができます。
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
}
于 2012-04-24T19:26:46.020 に答える
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 ページから共有リンクをクリックしたかどうかを知ることができます。
于 2012-04-24T19:31:23.567 に答える