什么应该是一个简单的代码挣扎(但当时我是新手)非法参数HTTP主机
String ipaddrlist = request.getParameter("ipaddrlist");
System.out.println (ipaddrlist);
ReaderDriver art = new ReaderDriver();
String ipaddrs[] = ipaddrlist.split(",");
System.out.println (Arrays.toString(ipaddrs));
for(int i=0; i< ipaddrs.length ; i++)
{
art.setOutputs(ipaddrs[i], false);
}
ipaddrlist =,192.168.150.210 ipaddrs =,192.168.150.210(拆分逗号远来自IP地址)。使用数组是因为列表中可能有多个IP地址。
但for(int循环似乎是发送正确的IP地址,也是一个空导致java IllegalArgumentException = http host = null。我不知道如何打印for循环到控制台,所以我可以看到正在发送什么。
如果我更换for循环,只需使用一个固定的IP地址,然后没有什么异常。
我不想有设置代理服务器等,如果我能避免它,一个捕获异常似乎没有工作
ReaderDriver的前两行(但我不想要改变如果可能的话这个代码,这个问题似乎是在for循环的真实IP地址后发送空)
public boolean setOutputs(String ipAddress, boolean status)
{
String url = (new StringBuilder()).append("http://").append(ipAddress).append("/UE/rci").toString();
我想停止对环比发送IP addreeses以外的任何其他(即空白)。
想法感激。
你能也粘贴代码ReaderDriver类。根据这段代码,我们将无法弄清楚setOutputs API在做什么。其余的代码看起来很好。如果在逗号之前没有值,那么它将被视为空白。 – Maverick
更新的原始代码,但请参阅评论。 – Active