2017-10-01 1 views
1

J'ai développé une application Web qui est déployée en tant qu'application Web sur Azure.Comment obtenir l'adresse IP du client sur une application Web Azure développée dans ASP.NET?

Je dois obtenir l'adresse IP du client de sorte que je puisse utiliser une API GeoIP pour obtenir le pays à partir duquel le client se connecte.

Alors, voici ma question, comment puis-je obtenir l'adresse IP du client lorsqu'il envoie une demande pour voir la page d'accueil? J'utilise ASP.NET MVC.

+0

'Request.ServerVariables [ "REMOTE_ADDR"]' ne fonctionnera pas? – hardkoded

+0

J'ai essayé System.Web.HttpContext.Current.Request.ServerVariables ["REMOTE_ADDR"]; mais il renvoie null, donc ["HTTP_X_FORWARDED_FOR"] – EidolonMK

+0

Vous pouvez consulter cette liste https://stackoverflow.com/a/6914521/2373249 – hardkoded

Répondre

4

Essayez ceci (vérifié sur une application Web Azure en utilisant 2.x ASP.NET de base):

using Microsoft.AspNetCore.Http.Features; 
using System.Net; 

.... 

var connection = HttpContext.Features.Get<IHttpConnectionFeature>(); 
IPAddress clientIP = connection.RemoteIpAddress;