1. java如何获取用户真实的ip
1、如果服务器如果没有采用反向代理,而且客户端没有用正向代理的话,那么可以获取客户端的真实IP地址request.getRemoteAddr()
2、如果服务器如果没有采用反向代理,而且客户端有用正向代理的话,那么通过request.getRemoteAddr()获取客户端的IP地址是客户端 的代理服务器的地址,并不是客户端的真实地址,
3、如果客户端使用的是多层代理的话,服务器获得的客户端地址是客户端的最外围代理服务器的地址如果服务器如果采用反向代理服务器,不管客户端采用的是何种方式访问服务器。
//获得客户端真实IP地址的方法一:
publicStringgetRemortIP(HttpServletRequestrequest){
if(request.getHeader("x-forwarded-for")==null){
returnrequest.getRemoteAddr();
}
returnrequest.getHeader("x-forwarded-for");
}
//获得客户端真实IP地址的方法二:
publicStringgetIpAddr(HttpServletRequestrequest){
Stringip=request.getHeader("x-forwarded-for");
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=request.getHeader("Proxy-Client-IP");
}
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=request.getHeader("WL-Proxy-Client-IP");
}
if(ip==null||ip.length()==0||"unknown".equalsIgnoreCase(ip)){
ip=request.getRemoteAddr();
}
returnip;
}
2. java中,如何获取真实的IP地址
/**
* 获取客户端ip
* @param request
* @return
*/
HttpServletRequest request = ServletActionContext.getRequest();
String address = request.getHeader("X-Forwarded-For");
if (address != null && this.isIpAddress(address)) {
return address;
}
return request.getRemoteAddr();
3. 在一个java接口中获取请求客户端的IP地址
你不是web项目那么request是什么了?
你可以定义一个接口,接口中有setRequest方法,和getRemoteAddr方法
然后在你的主Servlet中将Request设置进去,
再通过getRemoteAddr方法取得IP
实现类中定义一个Request属性,通过setRequest方法设置,
getRemoteAddr方法调用request.getRemoteAddr方法。
还是没有搞明白你到底要干什么为什么没有request~web项目到处都是request啊~
4. java 怎么获取请求方ip地址
public
static
void
main(string[]
args)
{
try
{
//
获取计算机名
string
name
=
inetaddress.getlocalhost().gethostname();
//
获取ip地址
string
ip
=
inetaddress.getlocalhost().gethostaddress();
system.out.println("计算机名:"+name);
system.out.println("ip地址:"+ip);
}
catch
(unknownhostexception
e)
{
system.out.println("异常:"
+
e);
e.printstacktrace();
}
}
是否可以解决您的问题?
5. 请问java获取请求对象的电脑ip和网络ip的方法是什么
importjava.io.*;
importjava.net.*;
try{
URLurl=newURL("http://checkip.amazonaws.com");
BufferedReaderbr=newBufferedReader(newInputStreamReader(url.openStream()));
StringwanIP=br.readLine();
System.out.println("WANIP:"+wanIP);
InetAddresslanIP=Inet4Address.getLocalHost();//orInet6Address.getLocalHost();
System.out.println("LANIP:"+lanIP.getHostAddress());
}catch(Exceptione){
e.printStackTrace();
}
6. java IP查询方法
Java编程查询IP地址归属地,可以调用淘宝提供的service查询,并且解析http请求返回的json串,代码如下:
packagegetAddressByIp;
importjava.io.ByteArrayOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.net.HttpURLConnection;
importjava.net.MalformedURLException;
importjava.net.URL;
importnet.sf.json.JSONObject;
publicclassGetAddressByIp
{
/**
*
*@paramIP
*@return
*/
(StringIP){
Stringresout="";
try{
Stringstr=getJsonContent("http://ip.taobao.com/service/getIpInfo.php?ip="+IP);
System.out.println(str);
JSONObjectobj=JSONObject.fromObject(str);
JSONObjectobj2=(JSONObject)obj.get("data");
Stringcode=(String)obj.get("code");
if(code.equals("0")){
resout=obj2.get("country")+"--"+obj2.get("area")+"--"+obj2.get("city")+"--"+obj2.get("isp");
}else{
resout="IP地址有误";
}
}catch(Exceptione){
e.printStackTrace();
resout="获取IP地址异常:"+e.getMessage();
}
returnresout;
}
(StringurlStr)
{
try
{//获取HttpURLConnection连接对象
URLurl=newURL(urlStr);
HttpURLConnectionhttpConn=(HttpURLConnection)url.openConnection();
//设置连接属性
httpConn.setConnectTimeout(3000);
httpConn.setDoInput(true);
httpConn.setRequestMethod("GET");
//获取相应码
intrespCode=httpConn.getResponseCode();
if(respCode==200)
{
returnConvertStream2Json(httpConn.getInputStream());
}
}
catch(MalformedURLExceptione)
{
e.printStackTrace();
}
catch(IOExceptione)
{
e.printStackTrace();
}
return"";
}
(InputStreaminputStream)
{
StringjsonStr="";
//ByteArrayOutputStream相当于内存输出流
ByteArrayOutputStreamout=newByteArrayOutputStream();
byte[]buffer=newbyte[1024];
intlen=0;
//将输入流转移到内存输出流中
try
{
while((len=inputStream.read(buffer,0,buffer.length))!=-1)
{
out.write(buffer,0,len);
}
//将内存流转换为字符串
jsonStr=newString(out.toByteArray());
}
catch(IOExceptione)
{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnjsonStr;
}
}
7. 通过java httpclient 提交到服务器,服务器怎么获取请求的IP和URL
ip和url都可以通过request对象获取到。ip在头文件里,不过如果你使用负载均衡、代理服务器等网络设备会影响获取到的ip真实性。
8. java服务端如何获得客户端的ip
serversocket()不提供这个方法,但是server端获取到的请求new serversocket()().accept()()返回的是一个socket()对象,也就是当前连接的信息,这里面包含有一个 getRemoteAddress方法。多看看API
9. java 怎么获取请求方ip地址
public static void main(String[] args) { try { // 获取计算机名 String name = InetAddress.getLocalHost().getHostName(); // 获取IP地址 String ip = InetAddress.getLocalHost().getHostAddress(); System.out.println("计算机名:"+name); System.out.println("IP地址:"+ip); } catch (UnknownHostException e) { System.out.println("异常:" + e); e.printStackTrace(); } }