Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java测试URL请求测试_Java_Html_Eclipse_Url_Request - Fatal编程技术网

Java测试URL请求测试

Java测试URL请求测试,java,html,eclipse,url,request,Java,Html,Eclipse,Url,Request,您好,我是java和编程的新手,所以如果我对一些简单的东西有错误,请原谅我。我的目标是导入一个文本文件,扫描每一行,如果读取了某个内容,则测试该行(即URL),然后将其打印到输出文件中。因此,程序正在测试每个URL,如果URL有效(工作),我将在新的输出文件中打印该行 我的问题是测试URL部分。它读取行以便打印URL,但它会打印多次任何建议?有没有办法让它打印一次?我想我理解它打印多次,因为它逐行读取HTML代码 try { // Test URL Connection 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());
}

您的代码正在将行读入名为“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());
}