Santhosh Kumar Ответов: 3

Как получить IP-адрес клиента в C# API


ПРИВЕТ
У меня есть требование, что я должен получить IP-адрес клиента, который запросил мой c# Web API , например,если мобильный вызовет мой WebAPI, то WebAPI должен идентифицировать IP-адрес мобильного телефона, то, что я на самом деле хочу, это IP - адрес запрашиваемого устройства

Что я уже пробовал:

Я попытался получить все свойства объекта запроса, но ни одно из них мне не помогло

3 Ответов

Рейтинг:
2

OriginalGriff

Ты не можешь. Это не "реальный" IP-адрес, это IP-адрес точки контакта с интернетом, который для мобильного телефона будет предоставляться телефонной компанией и который, вероятно, будет меняться по мере того, как телефон перемещается по сетям, подключается и отключается. Он также, скорее всего, будет совместно использоваться несколькими различными мобильными устройствами в любой момент времени точно так же, как широкополосное соединение дает IP-адрес маршрутизатора, а не настольного компьютера или Wi-Fi-устройства, делающего запрос.

Как вы думаете, зачем вам нужен IP-адрес телефона? Это вряд ли будет полезно, Так как он является чисто временным и не имеет "реальной" геолокации, так что вы даже не можете использовать его, чтобы сказать вам, где находится пользователь!


Santhosh Kumar

Я просто сказал это в качестве примера, что на самом деле мне нужен IP-адрес запрашиваемого устройства (соответственно улучшен вопрос)

OriginalGriff

IP - адреса не обязательно являются тем, что вы думаете: они не являются IP-адресом устройства, потому что это почти наверняка всегда будет "192.168.xxx.yyy", то есть *локальный* IP-адрес, который никогда не передается мимо маршрутизатора или другой точки контакта с интернетом, потому что он неуместен и бесполезен-вы не можете подключиться к "192.168.0.4" и ожидать получить мой компьютер, потому что вы получите локальное устройство с тем же IP-адресом в вашей локальной сети / Wi-Fi.
То, что вы получаете, - это IP-адрес маршрутизатора или другой точки контакта, и он будет назначен провайдером и чаще всего даже не используется только одной точкой контакта, а перерабатывается из пула каждый раз, когда маршрутизатор (или что-то еще) подключается.
Это может помочь объяснить это:
https://www.codeproject.com/Tips/792723/Using-IP-based-Geolocation-and-why-its-pretty-much
Это не поможет вам напрямую, потому что ситуация на сервере еще хуже, у вас есть доступ только к тому, что текущий запрос дает вам с точки зрения IP, и это может иметь перенаправления (особенно в случае мобильных устройств, где запрос часто перенаправляется в службу сжатия данных, которая перехватывает запросы и ответы и уменьшает объем данных, которые летят вперед по мобильной сети).

Как ты думаешь, зачем тебе это нужно?

Рейтинг:
2

F-ES Sitecore

Если бы вы уделили минуту google, вы могли бы найти ответ на этот очень часто задаваемый вопрос - вы не можете получить IP-адрес клиента. Или их MAC-адрес, если это ваш следующий вопрос.


Рейтинг:
0

Santhosh Kumar

Да, это не сработало, он дал ip-адрес сервера, на котором размещался API