【发布时间】:2014-06-06 19:55:57
【问题描述】:
我想在 java 中创建许可证系统。
我创建了一个函数来检查许可证是否为真。
我的代码:
private static boolean isPurchased(String license)
{
try
{
URL url = new URL("http://mineverse.pl/haslicense.php?license=" + license);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str = in.readLine();
in.close();
return Boolean.valueOf(str);
} catch (Exception e)
{
e.printStackTrace();
}
return false;
}
并检查功能是否启用
if(this.isPurchased(license)){
String license = cfg.getString("Licensing_System.License");
System.out.println("Licencja" + license + " kupiona! Dziekujemy!");
System.out.println(this.isPurchased(license));
}else {
System.out.println("Licencja zostala sfalszowana! Zglaszam to do serwera autoryzacji!");
}
还有我的链接:
http://mineverse.pl/haslicense.php?license=diverse12345
你可以看到这个链接返回 true,(我确实 echo 'true';)但是 java 控制台总是返回 false(我想要 true,因为网站在这个链接上有 true)并且它记录:
Licencja zostala sfalszowana! Zglaszam 做 serwera autoryzacji!
怎么了?如何在我的网站上返回 true 以允许 java 学习这个布尔值?>
【问题讨论】:
-
调试代码以找出
str真正包含的内容。它是否可能在文本true之后包含空格或换行符?对于Boolean.valueOf(...)要返回true,str必须包含 4 个字符true并且没有其他内容(没有空格等)。 -
哦,它在网站上是真的,但它返回“假”@Jesper