首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用HTTPS连接:服务器重定向次数过多

尝试使用HTTPS连接:服务器重定向次数过多
EN

Stack Overflow用户
提问于 2013-01-18 11:54:25
回答 1查看 12.1K关注 0票数 0

我正在尝试连接到一个安全的连接网址(https://example.com )使用Java程序,以检查网站的可用性。通常,我通过禁用代理设置在浏览器中连接到https://example.com。此外,我们还在受信任的根证书中安装了证书。我已经成功地将这些证书添加到Java Keystore。

代码语言:javascript
复制
  import java.net.URL;
    import java.net.URLConnection;
    import java.security.Security.*;
    import com.sun.net.ssl.*;
    import com.sun.*; 

    import javax.net.ssl.HttpsURLConnection;
    import java.security.cert.Certificate;
    import java.io.*;
    import javax.net.ssl.SSLPeerUnverifiedException;
    import org.omg.CORBA_2_3.portable.InputStream;

    public class TestConn {
    public static void main(String args [])
    {
        try{
                 URL hp = new URL("https://example.com");
                HttpsURLConnection hpCon = (HttpsURLConnection)hp.openConnection();

        boolean isProxy = hpCon.usingProxy();
        System.out.println("is using proxy " + isProxy);
        InputStream obj = (InputStream) hpCon.getInputStream();
        while(obj.read()!=-1){
            System.out.println(obj.read_char());

        }
                System.out.println("content >> " + obj.toString());
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }
    }

我遇到了以下错误:

代码语言:javascript
复制
java.net.ProtocolException: Server redirected too many  times (20)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
    at TestConn.main(TestConn.java:28)

关于这个例外,有人能帮我一下吗?

EN

回答 1

Stack Overflow用户

发布于 2013-01-18 12:37:10

如果你想检查网站的可用性,你应该使用hpCon.getResponseCode();。响应码200表示站点可用。坦率地说,我不知道你的进一步目的。这是修改后的代码,确定得到了输出内容。

代码语言:javascript
复制
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;

public class Test {
public static void main(String[] args) {

    try {
        URL hp = new URL("https://godaddy.com");
        HttpsURLConnection hpCon = (HttpsURLConnection) hp.openConnection();

        boolean isProxy = hpCon.usingProxy();
        System.out.println("is using proxy " + isProxy);
        InputStream obj = hpCon.getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(obj));

        String s;
        while ((s = br.readLine()) != null) {
            System.out.println("content >>" + s);
        }

    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14392120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档