Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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检查网页是否存在_Java_Web_Connection_Httpurlconnection - Fatal编程技术网

使用Java检查网页是否存在

使用Java检查网页是否存在,java,web,connection,httpurlconnection,Java,Web,Connection,Httpurlconnection,我正在使用Java检查我传入的url的响应。这是我正在使用的当前代码。但是,我不断收到一个连接拒绝错误。我正在使用基本的Google主页进行测试,以便了解我的代码的大致草稿 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import javax.

我正在使用Java检查我传入的url的响应。这是我正在使用的当前代码。但是,我不断收到一个连接拒绝错误。我正在使用基本的Google主页进行测试,以便了解我的代码的大致草稿

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

import javax.net.ssl.HttpsURLConnection;


public class connectTest {


public static void main(String[] args)
{

    boolean test = pageExists();

}
public static boolean pageExists(){

        int returnCode= 0;

       try {
             HttpURLConnection.setFollowRedirects(false);
             String httpsURL = "https://www.google.com/";
             URL testUrl = new URL(httpsURL);
             HttpsURLConnection con = 
             (HttpsURLConnection)testUrl.openConnection();

             returnCode= con.getResponseCode();
             System.out.println(returnCode);


       } catch (Exception e) {
              e.printStackTrace();
       }

       if (returnCode== HttpURLConnection.HTTP_OK){
           return true;
       }
       else if (returnCode== HttpURLConnection.HTTP_BAD_REQUEST || returnCode== 
        HttpURLConnection.HTTP_NOT_FOUND ){
           return false;
       }
       else 
       {
           System.out.println("The return code was not 200,400 or 404");
           return false;

       }


    }  
  }
这是我运行以下操作时遇到的错误:

java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
java.net.ConnectException:连接被拒绝:连接
位于java.net.DualStackPlainSocketImpl.connect0(本机方法)
位于java.net.DualStackPlainSocketImpl.socketConnect(未知源)
位于java.net.AbstractPlainSocketImpl.doConnect(未知源)
位于java.net.AbstractPlainSocketImpl.connectToAddress(未知源)
位于java.net.AbstractPlainSocketImpl.connect(未知源)
位于java.net.PlainSocketImpl.connect(未知源)
位于java.net.socksocketimpl.connect(未知源)
位于java.net.Socket.connect(未知源)
位于sun.security.ssl.SSLSocketImpl.connect(未知源)
位于sun.security.ssl.BaseSSLSocketImpl.connect(未知源)
位于sun.net.NetworkClient.doConnect(未知源)
位于sun.net.www.http.HttpClient.openServer(未知来源)
位于sun.net.www.http.HttpClient.openServer(未知来源)
位于sun.net.www.protocol.https.HttpsClient。(未知来源)
位于sun.net.www.protocol.https.HttpsClient.New(未知来源)
位于sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(未知源)
位于sun.net.www.protocol.http.HttpURLConnection.plainConnect0(未知源)
位于sun.net.www.protocol.http.HttpURLConnection.plainConnect(未知源)
位于sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(未知源)
位于sun.net.www.protocol.http.HttpURLConnection.getInputStream0(未知源)
位于sun.net.www.protocol.http.HttpURLConnection.getInputStream(未知源)
位于java.net.HttpURLConnection.getResponseCode(未知源)
位于sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(未知源)

你是在代理后尝试这个吗?是的,我是。这就是问题所在吗?如果你想检查一个域是否已经被占用,你不能这样做。你的真正目标到底是什么?在进行http调用之前,请将下面的设置设置为通过代理。这将是您的网络凭据。System.setProperty(“http.proxyUser”,authUser);System.setProperty(“http.proxyPassword”,authPassword);