我在ASP.Net(C#)尋求獲得瀏覽器的HTTP推薦的快速,簡便和可靠的方式。我知道HTTP Referrer本身並不可靠,但我確實需要一種可靠的方式來獲取引用者,如果它是目前。獲取HTTP推薦在ASP.NET
回答
應該注意的是,如果引用HTTP標頭格式錯誤,該屬性將拋出System.UriFormatException。 – NightOwl888 2014-09-05 20:15:04
@Darin Dimitrov正在嘗試使用WEB API創建REST API。 UrlReferrer不是Request對象的一部分。我應該添加一些「使用」等。我錯過了什麼?一個DLL? – Ravi 2014-11-04 00:21:59
應該指出,差異是拼寫是正確的。 http標題拼寫錯誤。 MS在屬性名稱中使用正確的拼寫。不幸的是,這兩者不匹配,這會在測試時引起一些人(我)的困惑。 – John 2015-09-04 18:23:24
使用Request.UrlReferrer
屬性。
在幕後,它只是檢查ServerVariables("HTTP_REFERER")
屬性。
像這樣:HttpRequest.UrlReferrer Property
Uri myReferrer = Request.UrlReferrer;
string actual = myReferrer.ToString();
Request.Headers["Referer"]
說明
的Request.UrlReferer
將拋出一個System.UriFormatException
如果引薦HTTP標頭的格式不正確(這可能發生,因爲它通常不是你的控制之下)。
作爲使用Request.ServerVariables
,每MSDN:
Request.ServerVariables集合
的ServerVariables集合中檢索預定的環境變量和請求的報頭信息的值。
Request.Headers物業
獲取HTTP標頭的集合。
Request.Headers
比Request.ServerVariables
一個更好的選擇,因爲Request.ServerVariables
包含了所有的環境變量,以及頭,其中Request.Headers
是隻包含一個標題更短名單。
所以最好的解決方案是使用Request.Headers
集合直接讀取值。儘管如此,如果你要在表單上顯示它,請注意微軟對HTML編碼值的警告。
由於谷歌把你帶到這個職位C# Web API Referrer
搜索時,這裏的交易:Web API
使用正常MVC Request
不同類型的Request
稱爲HttpRequestMessage
不包括UrlReferrer
。由於一個正常的Web API
請求不包含這些信息,如果你確實需要它,你必須讓你的客戶竭盡全力包含它。雖然您可以將其作爲您的API Object
的一部分,但更好的方法是使用Headers
。
首先,你可以擴展HttpRequestMessage
提供UrlReferrer()
方法:
public static string UrlReferrer(this HttpRequestMessage request)
{
return request.Headers.Referrer == null ? "unknown" : request.Headers.Referrer.AbsoluteUri;
}
然後你的客戶需要設置Referrer Header
他們API Request
:
// Microsoft.AspNet.WebApi.Client
client.DefaultRequestHeaders.Referrer = new Uri(url);
而現在Web API Request
包括指引者數據您可以像這樣從您的Web API
訪問:
Request.UrlReferrer();
string referrer = HttpContext.Current.Request.UrlReferrer.ToString();
我使用的.Net睿2 MVC, 這個工作對我來說(獲取預覽頁面):
HttpContext.Request.Headers["Referer"];
有時你必須給這樣
所有鏈接System.Web.HttpContext.Current.Request.UrlReferrer.ToString();
(在當「當前」不成立選項)
- 1. 獲取推薦ID
- 2. HTTP書推薦?
- 3. 推薦Ansible http庫?
- 4. 軌道HTTP推薦
- 5. 在asp.net中推薦報告
- 6. 在Apex Visualforce中獲取推薦人
- 7. 推薦http響應大小
- 8. ASP.net MVC 3教程推薦
- 9. asp.net mvc控件集推薦
- 10. 通過請求獲取用戶推薦
- 11. 不推薦使用DefaultHttpClient並獲取Cookie?
- 12. JavaScript/PHP:獲取推薦密鑰URL
- 13. 從前一頁獲取推薦人
- 14. Android Google Analytics(分析)獲取推薦人
- 15. 獲取所有業務推薦字段
- 16. 獲取與API推薦的視頻3.0
- 17. 重定向時獲取HTTP引薦者
- 18. 從HTML欺騙HTTP請求推薦人?
- 19. 推薦一個C++ lib與http
- 20. HTTP推薦通過年齡門
- 21. Mahout推薦人:如何獲得新的用戶推薦?
- 22. 從多個推薦列表中提取熱門推薦
- 23. 爲什麼不是取消了谷歌的HTTPS推薦 - > HTTP
- 24. 推薦
- 25. 爲ASP.NET MVC網站推薦的Blog Engine
- 26. 使用ASP.NET MVC3推薦的API設計
- 27. 推薦ASP.NET組合框控件
- 28. ASP.NET - Response.Redirect不填充網址推薦人
- 29. ASP.NET中的拼寫推薦器
- 30. 不推薦使用ASP.NET Web方法
[我如何在ASP.NET MVC行動引薦網址?(HTTP的可能重複:// ST ackoverflow.com/questions/1471188/how-do-i-get-the-referrer-url-in-an-asp-net-mvc-action) – 2014-05-29 15:10:45
從Asp.Net核心看到[我怎樣才能在ASP中獲取Url引用.NET Core MVC?](// stackoverflow.com/q/38772394) – 2017-09-21 09:05:51