HttpsURLConnection可以使用IP地址吗?

时间:2013-06-13 16:41:28

标签: android ip httpurlconnection

我正在尝试从我的Android应用程序访问IP地址,但我没有运气。这是我正在尝试的异步任务:

protected String doInBackground(Void...arg0) {
       try{
            URL url = new URL(myIP);
            HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
            String read = readStream(con.getInputStream());
            return read;
        } catch(Exception e){
            e.printStackTrace();
        }

        return null;
    }

    private String readStream(InputStream in){
        BufferedReader reader = null;
        StringBuilder sb = new StringBuilder("xxxx");
        try{
            reader = new BufferedReader(new InputStreamReader(in));
            String line = "";
            while((line = reader.readLine()) != null){
                sb.append(line + "\n");
            }
        } catch(IOException e){
            e.printStackTrace();
        } finally{
            if(reader != null){
                try{
                    reader.close();
                } catch(IOException e){
                    e.printStackTrace();
                }
            }
        }
        return sb.toString();
    }

    protected void onPostExecute(String result){
        textView.setText(result);
    }

当我使用像www.stackoverflow.com这样的普通网址时,它工作正常,但是当我尝试使用IP时,没有任何响应。它没有抛出任何异常而且它没有更新textView(我尝试根据抛出的异常返回不同的结果)。所以这让我想到了一个问题,IP地址是URL连接的有效输入吗?如果我能提供任何其他信息,请告诉我。

我的最终目标是向此IP发送REST请求以访问特定信息,这可能会有所帮助。

3 个答案:

答案 0 :(得分:1)

HttpsUrlConnection类用于HTTPS连接,如果您想使用IP访问网站,您的myIP变量应该是这样的:

String myIP="https://62.123.123.123/index.php" //for example

但是,如果要访问远程计算机以进行直接通信,则应使用套接字。

检查this

希望有所帮助:)

答案 1 :(得分:0)

由于我所在的网络,我无法访问IP。简而言之,我原来问题的答案是肯定的,IP地址对于HttpURLConnections来说是无用的。

答案 2 :(得分:0)

我遇到了这个问题,结果发现您无法将IP地址放在证书的CN字段中,而是必须进入“主题备用名称”字段。