Diskuze: Funkce převodu URL na IP
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
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());
}
/***
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
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
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
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.
Zobrazeno 6 zpráv z 6.