導航:首頁 > 編程語言 > java獲取請求的ip

java獲取請求的ip

發布時間:2022-11-20 19:06:12

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(); } }

閱讀全文

與java獲取請求的ip相關的資料

熱點內容
有什麼學習高中語文的app 瀏覽:280
安卓手機的表格里怎麼打勾 瀏覽:407
阿里雲伺服器有網路安全服務嗎 瀏覽:966
超解壓兔子視頻 瀏覽:22
單片機怎麼測負脈沖 瀏覽:172
魅族備份的app在哪裡 瀏覽:738
java倒三角列印 瀏覽:112
通達信回封板主圖源碼 瀏覽:44
戰地什麼伺服器 瀏覽:299
安卓為什麼老是閃退怎麼辦 瀏覽:803
樂高機器人的編程軟體下載 瀏覽:223
工作中怎麼使用加密狗 瀏覽:735
雲伺服器的後台找不到 瀏覽:98
php逐行寫入文件 瀏覽:912
javaoracleweb 瀏覽:440
京東加密碼怎麼弄 瀏覽:467
單片機程序員培訓 瀏覽:992
PHP商城源代碼csdn 瀏覽:636
怎麼把電腦里文件夾挪出來 瀏覽:693
java流程處理 瀏覽:685