可能重複獲取IP地址:
Client IP using C#如何從訪問者(如果還落後代理)
我用ASP.net和C#和我想知道如何從頁面上的訪問者獲取IP地址。
我希望看到一個檢索IP地址的代碼示例,並且能夠顯示IP是否位於代理之後。
感謝您的時間。
可能重複獲取IP地址:
Client IP using C#如何從訪問者(如果還落後代理)
我用ASP.net和C#和我想知道如何從頁面上的訪問者獲取IP地址。
我希望看到一個檢索IP地址的代碼示例,並且能夠顯示IP是否位於代理之後。
感謝您的時間。
你可以使用Request對象的屬性UserHostName:
string ip = Request.UserHostName;
至於你對代理的第二個問題而言,有實現這個沒有可靠的方法。您可以使用啓發式查找可能由代理服務器發送的一些HTTP請求標頭,例如Via
或X-Forwarded-For
。
string header = Request.Headers["Via"] ?? Request.Headers["X-Forwarded-For"];
if (!string.IsNullOrEmpty(header))
{
// probably the request was forwarded from a proxy server
// but you cannot be 100% sure as HTTP request headers can be faked
}
這麼簡單的傢伙,
string IP = Request.ServerVariables["REMOTE_HOST"].ToString();
他的問題是關於在代理之後這麼做的。您的解決方案將始終爲代理服務器本身提供IP。 –
爲什麼傢伙下來投給這個問題嗎? Mat指出的問題並不涉及Proxy。評論將不勝感激。 – GibboK
閱讀該問題的答案。有些人處理代理。 (至於downvote,我不知道,可能是因爲「沒有足夠的研究」) – Mat
感謝您的評論墊。 – GibboK