jsp HttpURLConnection getResponseCode不能用于'http://192.168

jsp HttpURLConnection getResponseCode not working for format of 'http://192.168.1.xxx'?

本文关键字:http getResponseCode HttpURLConnection 不能 用于 jsp      更新时间:2023-09-26

我想检查ip为'http://192.168.1.xxx'的格式,

如果响应代码='200',我可以使用javascript将我的网站重定向到ip.

(确切地说,我的网站是公共ip,我希望我可以检查我是否可以重定向用户到私人ip或不)

我使用代码:

var success=""; var error="";
<%
    int resboseCode=0;
    HttpURLConnection httpUrlConn;
    try{
        httpUrlConn = (HttpURLConnection) new URL("http://192.168.1.xx").openConnection();
        httpUrlConn.setRequestMethod("HEAD");
        httpUrlConn.setConnectTimeout(30000);
        httpUrlConn.setReadTimeout(30000);
        resboseCode=httpUrlConn.getResponseCode();
%>
sccess='<%= resboseCode %>';
<%
    }catch(Exception e){
%>
error="<%= e.getMessage() %>";
<%
    }
%>

当我使用url="http://www.google.com",它工作得很好,但它会超时,而url="http://192.168.1.xxx"。

我是否误解了什么是url,或者当检查'http://192.168.1.xxx'的格式时获得响应代码的不同方法?

我搜索互联网,发现另一种方式是发送套接字,如isReachable,但结果似乎不像我想要的?

我做这个任务还有别的方向吗?

据我所知,你所要求的是不可能的。

在公共IP地址上的web服务器根本没有办法联系私有IP地址。这就是私有IP地址的意义:流量不能通过公共互联网路由到它们。

私有IP地址在许多网络中使用,例如办公室内部网和家庭网络。由于这些网络都是相互隔离的,所以不同网络中的不同设备可以使用相同的IP地址,而不会出现任何问题。可能有成千上万的设备具有192.168.1。您指定的XXX地址:请求应该发送到哪一个?

您的办公室网络可能知道如何将流量从您的台式电脑路由到192.168.1。