我正在使用JSP,Servlets(Container:Glassfish)开发一个Web应用程序,我需要在其中获取客户端IP Address.
我正在获取客户端的IP地址,因为我只想在有办公室的计算机上访问某些页面(如客户维护表单),我想限制访问办公室以外的那些页面.
以下是我的代码到目前为止:
String ipAddress = request.getRemoteAddr();
System.out.println("IP Address: "+ipAddress);
Run Code Online (Sandbox Code Playgroud)
String ipAddress=null;
String getWay = request.getHeader("VIA"); // Gateway
ipAddress = request.getHeader("X-FORWARDED-FOR"); // proxy
if(ipAddress==null)
{
ipAddress = request.getRemoteAddr();
}
System.out.println("IP Address: "+ipAddress);
Run Code Online (Sandbox Code Playgroud)
different IP Address每次重新启动计算机时,上面的代码都会给我(关机 - >启动或重启).
我变得IP6喜欢:
fe80:0:0:0:20ca:1776:f5ff:ff15%13
Run Code Online (Sandbox Code Playgroud)
让我知道这段代码有什么问题?
我是正则表达式的新手,我想使用preg_match函数来查找字符串是否是IP地址.
例如if $string = "45.56.78.222"或类似的东西,preg_match($regex, $string)应该返回true.那$regex应该是什么?
我知道可以使用代理更改IP地址,但我感兴趣的是为什么不能通过从单台计算机发送更改的数据来更改它?
更新:
感谢您的快速回复,但是如果使用无状态协议(如HTTP),则不清楚会发生什么.我不熟悉较低级别的网络通信,但理论上似乎应该可以在PC连接到服务器并立即收到回复时获取IP地址.
在我的程序中,用户输入一个url字符串,比方说
http://www.engineering.uiowa.edu/~hawkeng//fall01/graphics/potato.gif
我如何获得此网址的IP地址?我试过用
InetAddress address = InetAddress.getByName(urlStr);
Run Code Online (Sandbox Code Playgroud)
但结果总是返回null.获取IP地址的正确方法是什么?
在新安装的(Windows版本)MySQL 5.5.9上
SELECT user, host FROM mysql.user
Run Code Online (Sandbox Code Playgroud)
得到:
user host
root localhost
root 127.0.0.1
root ::1
localhost
Run Code Online (Sandbox Code Playgroud)
但IP /主机名在::1这里代表什么?
有没有办法通过查看IP地址来确定国家名称?我的意思是,国家/地区是否有特定的IP地址范围?例如,澳大利亚只能在范围内拥有IP地址123.45.56.89 - 231.54.65.98(仅举例)
如何在wifi下连接时获取手机的IP地址?
我在这里找到了一个方法,但它返回了类似24.182.239.255的东西,即使我在wifi下,我期待像192.168.1.10这样的东西.
我喜欢这样的东西:
if (you are under wifi)
String ip4 = getWifiIP()
else
String ip4 = getIPAddress with the method linked before
Run Code Online (Sandbox Code Playgroud)
非常感谢!
我有一个方法来验证参数IP地址.作为一个整体发展的新手,我想知道是否有更好的方法来做到这一点.
/// <summary>
/// Check IP Address, will accept 0.0.0.0 as a valid IP
/// </summary>
/// <param name="strIP"></param>
/// <returns></returns>
public Boolean CheckIPValid(String strIP)
{
// Split string by ".", check that array length is 3
char chrFullStop = '.';
string[] arrOctets = strIP.Split(chrFullStop);
if (arrOctets.Length != 4)
{
return false;
}
// Check each substring checking that the int value is less than 255 and that is char[] length is !> 2
Int16 MAXVALUE = 255;
Int32 temp; …Run Code Online (Sandbox Code Playgroud) ip ×10
ip-address ×2
java ×2
php ×2
android ×1
android-wifi ×1
c# ×1
geoip ×1
geolocation ×1
hostname ×1
inetaddress ×1
mysql ×1
preg-match ×1
python ×1
regex ×1
servlets ×1
string ×1
tcp ×1