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