html Java测试URL请求测试
您好,我是java和编程的新手,所以如果我对一些简单的东西有错误,请原谅我。我的目标是导入一个文本文件,扫描每一行,如果读取了某个内容,则测试该行(即URL),然后将其打印到输出文件中。因此,程序正在测试每个URL,如果URL有效(工作),我将在新的输出文件中打印该行
我的问题是测试URL部分。它读取行以便打印URL,但它会打印多次任何建议?有没有办法让它打印一次?我想我理解它打印多次,因为它逐行读取HTML代码
try
{
// Test URL Connection
URL url = new URL("http://www." + line);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
wr = new OutputStreamWriter(conn.getOutputStream());
wr.flush();
// Get the response
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while((lines = rd.readLine()) != null)
{
System.out.println(line);
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
# 1 楼答案
您的代码正在将行读入名为“lines”的变量,但您正在打印出line变量。line变量是用于创建URL的变量:
如果您只想打印出URL,那么您可能需要考虑将URL构造成这样的字符串:
然后创建URL对象
如果您试图打印从目标URL检索的内容,请将代码改为打印“行”:
最好使用更具描述性的变量名。例如,不要使用“line”构造URL,而是使用“domainName”之类的变量名。然后,当您一次读取一行时,可以使用变量名“line”