IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Funkce převodu URL na IP

Aktivity
Avatar
Vítězslav Škrabal:9.11.2014 13:13

Zdravím

URL url = new URL("http://www.seznam.cz");
System.out.println(url.getHost());
InetAddress address = InetAddress.getByName(url.getHost());
System.out.println(address.toString());

Jaké importy jsou k tomu potřebu a jestli to bude fungovat po upravě výstupů na androidu díky

http://stackoverflow.com/…-string-java

 
Odpovědět
9.11.2014 13:13
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Vítězslav Škrabal
David Hartinger:9.11.2014 14:36

Importy ti přeci doplní samo IDE, jsou to:

import java.net.InetAddress;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.UnknownHostException;

Možná tam nemáš ošetřené výjimky:

try {
        URL url = new URL("http://www.seznam.cz");
        System.out.println(url.getHost());
        InetAddress address = InetAddress.getByName(url.getHost());
        System.out.println(address.toString());
} catch (MalformedURLException | UnknownHostException ex) {
        System.err.println(ex.getMessage());
}
Editováno 9.11.2014 14:37
Nahoru Odpovědět
9.11.2014 14:36
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Vítězslav Škrabal:9.11.2014 16:50
/***
        Copyright (c) 2008-2009 CommonsWare, LLC

        Licensed under the Apache License, Version 2.0 (the "License"); you may
        not use this file except in compliance with the License. You may obtain
        a copy of the License at
                http://www.apache.org/licenses/LICENSE-2.0
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
*/

package com.commonsware.android.browser1;
import java.net.*;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.EditText;

import java.io.*;
public class BrowserDemo1 extends Activity {
        WebView browser;
        EditText one,two;
        String adres;

        @Override
        public void onCreate(Bundle icicle) {
                super.onCreate(icicle);
                setContentView(R.layout.main);
                browser=(WebView)findViewById(R.id.webkit);
                one =  (EditText)findViewById(R.id.editText1);
                two =  (EditText)findViewById(R.id.editText2);
                //browser.loadUrl("http://conmet.cz/lokalizace-ip-zjisteni-polohy-zarizeni-na-mape.html?ip_adresa=188.246.111.238");

        }
        public static class IpFromUrl {
                // Returns the IP address of an URL
                // i.e. http://www.facebook.com -> 123.456.789.10
                public static String getIp( String hostname )throws IOException {
                        try {
                  InetAddress ipaddress = InetAddress.getByName(hostname);
                                 return ipaddress.getHostAddress();
                        }
                                 catch ( UnknownHostException e ){
                                         throw new IOException("Could not find IP address for: " + hostname);}
                                 }


        }

        public void vykonej(View v){


                browser.loadUrl("http://conmet.cz/lokalizace-ip-zjisteni-polohy-zarizeni-na-mape.html?ip_adresa=" + one.getText());
  try

                {
                       URL url = new URL("http://seznam.cz");
                       InetAddress address = InetAddress.getByName(url.getHost());
   two.setText(address.toString());
                }       catch (Exception e){
                }}}

Já bych potřeboval napsat do prvního textového pole třeba wwww.seznam.cz a ve druhém aby se ukázala IP adresa a ta už může být přiřazena k odkazu a tem mi určí polohu mně to funguje zatím je když do prvního textového pole zadám rovnou IP adresu. Mořím se s tím nevím jak dlouho a na víc javu neumím já jsem "vyrůstal" na turbo pascalu potažmo Delphi díky

 
Nahoru Odpovědět
9.11.2014 16:50
Avatar
Vítězslav Škrabal:10.11.2014 8:48

Zdravím
tak to funguje když napíši rovnou string ale

URL url = new URL("http://www.seznam.cz");

já bych potřeboval

URL url = new URL(one.getText());

čili z proměnné string jak to mám udělat? výše zmíněný kód mi nefunguje díky

Editováno 10.11.2014 8:52
 
Nahoru Odpovědět
10.11.2014 8:48
Avatar
Odpovídá na Vítězslav Škrabal
Vítězslav Škrabal:10.11.2014 9:12
URL url = new URL(one.getText().toString());

toto je správná syntaxe a ještě mi zbývá nějak z výsledného stringu address zkopírovat jen IP adresu tem proměnná address obsahuje www.seznam.cz/77.75.72.3 jak se to dělá?díky

 
Nahoru Odpovědět
10.11.2014 9:12
Avatar
Matěj Kripner
Tvůrce
Avatar
Odpovídá na Vítězslav Škrabal
Matěj Kripner:10.11.2014 17:15

Použij na instanci InetAddress metodu getAddress(). Ta ti vrátí bajtové pole představující IP adresu dané instance. Další možnost je řešit to pomocí metody substring(int start) na instanci třídy String.

 
Nahoru Odpovědět
10.11.2014 17:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.