마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드에서 연결된 공유기의 공인 IP를 알고 싶습니다.

0 추천

앱 개발 중인데 연결된 WiFi 공유기의 공인 IP를 알려고 합니다.

public String getCurrentIP () {
    String ip ="";
    try {
        HttpClient httpclient = new DefaultHttpClient();
        HttpGet httpget = new HttpGet("http://ifcfg.me/ip");
        // HttpGet httpget = new HttpGet("http://ipecho.net/plain");
        HttpResponse response;

        response = httpclient.execute(httpget);

        //Log.i("externalip",response.getStatusLine().toString());

        HttpEntity entity = response.getEntity();
        if (entity != null) {
            long len = entity.getContentLength();
            if (len != -1 && len < 1024) {
                ip= EntityUtils.toString(entity);
                //Log.i("externalip",str);
            } else {
                Log.e("External IP", "Response too long or error.");
                //debug
                //ip.setText("Response too long or error: "+EntityUtils.toString(entity));
                //Log.i("externalip",EntityUtils.toString(entity));
            }
        } else {
            Log.e("External IP", "Null:"+response.getStatusLine().toString());
        }

    }
    catch (Exception e)
    {
        Log.e("External IP", "Error");
    }

    return ip;
}

웹 페이지에 표시된 공인 IP를 가져오는건 알겠는데

리턴값이 계속 안나오네요

이게 안드로이드 버전에 따라 안되는건가요?

다른 방법이 있을까요?

익명사용자 님이 2017년 6월 13일 질문

1개의 답변

0 추천
https 로 리다이렉트 되던데, 주소를 https로 변경해 보시고, 그래도 안되면 UserAgent 같은 것으로 서버에서 막았을 가능성이 있으니. PC에서 접속시에 올라가는 값과 동일하게 데이터를 맞춰 보세요.
익명사용자 님이 2017년 6월 13일 답변
...