什麼應該是一個簡單的代碼掙扎(但當時我是新手)非法參數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