【发布时间】:2011-07-14 11:23:44
【问题描述】:
我正在尝试使用 Java 小程序获取真实客户端 IP 地址。我想最终在 PHP 脚本中使用它,以帮助实现安全性和身份验证。所有的 PHP 方法都不起作用,因为各种 HTTP 标头不可用并且很容易被欺骗。
所以我采用Get the correct local IP address from java applet和http://www.jguru.com/faq/view.jsp?EID=15832建议的方法
但是,我无法编译我的简单小程序。我是 Java 新手,所以有点困惑。
代码是:
import java.net.*;
import java.io.*;
public class SimpleSocketClient
{
public SimpleSocketClient()
{
try
{
Socket socket = new Socket("89.185.150.131", 80);
}
catch(Exception exc)
{
System.out.println("Error in initialising the network - " + exc.toString());
}
InetAddress addr = socket.getLocalAddress();
String hostAddr = addr.getHostAddress();
System.out.println("Addr: " + hostAddr);
}
}
编译时出现如下错误:
C:\mba>javac SimpleSocketClient.java
SimpleSocketClient.java:18: cannot find symbol
symbol : variable socket
location: class SimpleSocketClient
InetAddress addr = socket.getLocalAddress();
^
1 error
C:\mba>
谢谢
【问题讨论】:
-
“我正在尝试使用 Java 小程序获取真实客户端 IP 地址。” 为什么?
-
答案是正确的——我强烈建议你接受它。
标签: java