Как я могу получить доступ к данным клиента, таким как IP, браузер и т. Д. В веб-службе в Java?Сведения о клиенте в webservice
ответ
String ip = request.getRemoteAddress();
String browser = request.getHeader("User-Agent");
, это будет делать, если iam использует только страницы Jsp. –
Информация, связанная с браузером, будет доступна в заголовках HTTP, таких как: тип контента, версия и т. Д. Если веб-служба могла получить IP-адрес своих клиентов, безопасность была бы в значительной степени включена. IP-адрес может быть недоступен до тех пор, пока клиент не отправит его в качестве параметра для вашего вызова.
Зачем нужна безопасность? Сервер всегда знает IP-адрес клиента. В противном случае он не знал, куда отправить ответ на запрос – janko
Нет, сервер знает только IP-адрес для ответа, который может быть адресом прокси-сервера или устройства NAT. Это не может быть IP-адрес клиента. –
@janko. Когда вы подключаетесь к серверу в Интернете, сервер знает только адрес следующего перехода, а не IP-адрес клиента. И если вы находитесь за прокси-сервером, то при максимальном уровне сервер может знать прокси-ip, но не фактический клиентский ip, который находится за прокси-сервером – Cshah
если вы используете ось или Jax Rpc, то вы можете это получить IP-адрес и браузер, Это должно быть сделано на стороне сервера заглушки.
HttpServletRequest httpReq = (HttpServletRequest) MessageContext.getCurrentContext().getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
String ip = httpReq.getRemoteAddr();
String browser = httpReq.getHeader("User-Agent");
Как вы реализовали серверную сторону? Какие рамки вы использовали? – 2009-09-09 09:29:19
Вы не упомянули о своей среде. Будете ли вы использовать веб-сервер и какой сервер? Кто назовет вас веб-службой, браузером или клиентским приложением веб-сервиса? –
У меня есть одна страница Jsp, которая вызывает веб-службу. веб-метод должен регистрировать каждый полученный запрос. Поэтому мне нужен клиентский Ip и браузер. пользовательский доступ к этой странице jsp. Сервер Tomacat. –