Avatar
Vítězslav Škrabal:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na Vítězslav Škrabal
David Čápka:

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  +1 9.11.2014 14:36
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Vítězslav Škrabal:
/***
        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:

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:
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  +1 10.11.2014 9:12
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Vítězslav Škrabal
Matěj Kripner:

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  +1 10.11.2014 17:15
"We reject kings, presidents and voting. We believe in rough consensus and running code" David Clark
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.