Получить выделенный IP-адрес веб-сайта с помощью ASP.NET - PullRequest
1 голос
/ 17 декабря 2011

Я использую HttpWebRequest для связи.Можно получить IP-адрес веб-сайта (выделенный IP-адрес), а не IP-адрес сервера.когда я использую Context.Request.ServerVariable ("Remote_Addr"), он возвращает только ip сервера.Но мне нужен IP-адрес веб-сайта.

Например

Веб-сайт 3 клиентов отправляет httpwebrequest на мой сайт.Каждый из них имеет выделенный IP-адрес.

Мой веб-сайт Получите этот запрос и выполните некоторую работу, а затем ответ.

Пример кодирования клиента Отправить HttpWebRequest:

Dim uri As New Uri("http://www.somewebsite.com/somepage.ashx?username=client1&password=123456")
If (uri.Scheme = uri.UriSchemeHttp) Then
    Dim wrequest As HttpWebRequest = HttpWebRequest.Create(uri)
    wrequest.Method = WebRequestMethods.Http.Get
    Dim wresponse As HttpWebResponse = wrequest.GetResponse()     
    Dim reader As New StreamReader(wresponse.GetResponseStream())
    Dim tmp As String = reader.ReadToEnd()
wresponse.Close()  
End If

Пример кодирования для HttpHandler:

Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
 Dim remoteIP As String = context.Request.ServerVariables("REMOTE_ADDR")
 If remoteIP = "client1ip" Then
    Dim ref As String = Trim(context.Request.QueryString("username"))
    Dim number As String = Trim(context.Request.QueryString("password"))
   'do some work
Else
    context.Response.Write("Access Denied")
End If

End Sub

Это мой пример кодирования.Здесь remoteIP возвращает IP-адрес сервера провайдера хостинга, но мне нужен IP-адрес веб-сайта.

можно получить IP-адрес веб-сайта, используя httpcontext в httphandler.

Ответы [ 3 ]

0 голосов
/ 17 декабря 2011

Исходя из того, что вы сказали, переменные, которые вы ищете:

Request.UserHostAddress
Request.UserHostName

Проблема заключается в том, что вы можете не получить уникальный IP-адрес, если они используют прокси-сервер, но кроме этого вы сможете получить от них то, что вам нужно.

0 голосов
/ 18 декабря 2011

После понимания вашего вопроса больше сейчас ...

Я не думаю, что вы сможете получить vistor на этом другом сайте, который подключается к вашему сайту. Технически, единственным подключением к вашему веб-сайту является веб-сайт, который подключается к вам, поэтому, если они не смогут передать IP-адрес пользователя, вы не будете иметь никакого отношения к этому

0 голосов
/ 17 декабря 2011

Это должно сделать то, что вы ищете.Он выполнит поиск DNS по имени хоста веб-сайта, который должен дать вам IP-адрес, который он прослушивает.

string dnsHostname = "yourwebsite.com";
IPAddress[] addresslist = Dns.GetHostAddresses(dnsHostname);

foreach (IPAddress theaddress in addresslist)
{
   Console.WriteLine(theaddress.ToString());
}

Вероятно, вам понадобится только первый результат массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...