J'utilise wicket 1.5.1, ne pouvait pas comprendre cela.WICKET: comment obtenir ip/adresse du client
public class MyPage extends WebPage {
public MyPage() {
String clientAddress = ...?
J'utilise wicket 1.5.1, ne pouvait pas comprendre cela.WICKET: comment obtenir ip/adresse du client
public class MyPage extends WebPage {
public MyPage() {
String clientAddress = ...?
WebRequest req = (WebRequest) RequestCycle.get().getRequest();
HttpServletRequest httpReq = (HttpServletRequest) req.getContainerRequest();
String clientAddress = httpReq.getRemoteHost();
Sous WebClientInfo
pour fournir une méthode publique que les délégués sur WebClientInfo.getRemoteAddr()
protégé. Ensuite, créez une méthode pour l'interroger dans une classe personnalisée RequestCycle
. En Wicket j'ai réalisé 01.03 au 01.04 par ce sous-classement RequestCycle
, mais avec 1,5 il semble les choses sont différentes: RequestCycle in Wicket 1.5
WebClientInfo
a l'avantage d'interroger le X-Forwarded-For
paramètre erquest, et renvoie l'adresse IP appropriée si votre serveur est derrière un proxy/équilibreur de charge qui utilise XFF.
En utilisant Wicket 6 et 7, vous pouvez effectuer les opérations suivantes:
String remoteAddress = ((WebClientInfo)Session.get().getClientInfo())
.getProperties()
.getRemoteAddress();
Si ce pas 'httpReq.getRemoteAddr()'? –
'getRemoteAddr()' retournera l'adresse IP brute, tandis que 'getRemoteHost()' retournera le nom de l'adresse résolue si possible (ou l'adresse IP sinon). – tetsuo