Avatar billede svedendeko Nybegynder
01. juni 2004 - 18:46 Der er 9 kommentarer og
2 løsninger

Dns opslag fra java og brug af windows host file

Jeg har en opstilling hvor jeg kører appserver på 1 maskine og mailserver på en anden.

Jeg har på appserveren tilføjet det domæne jeg kører mailserveren under til dennes system32/driver/etc/host fil, for forkorte vejen imellem de 2 maskiner, men det virker som at Tomcat appserveren ikke benytter den host fil.

Er der nogen der kender til hvordan man får java til at benytte host filen eller imiterer lignende funktionalitet ?
Avatar billede arne_v Ekspert
01. juni 2004 - 19:03 #1
Tomcat bruger java.net.* og java.net.* bruger TCP/IP stakken på maskinen, så
umiddelbart vil jeg tro at et Java program og et C program vil opføre
sig helt ens med hensyn til host fil eller ikke host fil.
Avatar billede arne_v Ekspert
01. juni 2004 - 19:04 #2
Kan du ikke sende email ved IP nummer i.s.f. IP navn ?
Avatar billede svedendeko Nybegynder
01. juni 2004 - 19:09 #3
Jeg kan ikke blot angive ip adr. da mailserveren skal vide hvilket domæne brugeren forsøger at hente post fra.

Det store spørgsmål er så om default tcp/ip stakken på en win2k maskine altid vil benytte host filen eller om det blot er M$ egne programmer der udnytter host filen.
Avatar billede soreno Praktikant
01. juni 2004 - 19:20 #4
Jeg bruger hosts filen til blokkering af reklame sites (sikke dejligt og roligt det er at læse nyheder osv.).
Det fungerer over alt i operativ systemet, dvs. alle programmer.
Jeg har testet med både Linux og Windows.
Avatar billede svedendeko Nybegynder
01. juni 2004 - 19:23 #5
Har du forsøgt fra et javaprog ?

Jeg har som dig også troet at host filen virkede overalt, men det gør det altså ikke her.. ;-)
Avatar billede soreno Praktikant
01. juni 2004 - 19:39 #6
Jeg har lige forsøgt.

På min maskine giver det:
java.net.ConnectException: Connection refused: connect

På en anden maskine giver det:
GIF89aÿÿÿ!ù,L;


Kode:
import java.io.*;
import java.net.*;

public class UrlConnectionTest
{
    public static void testURL(String str)
    {
        try
        {
            URL url = new URL(str);
            URLConnection connection = url.openConnection();
            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            while ((line = br.readLine()) != null)
            {
                System.out.println(line);
            }
            br.close();
        }
        catch (MalformedURLException e)
        {
            e.printStackTrace();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
   
    public static void main(String[] args)
    {
        testURL("http://ad.doubleclick.net/ad/idg.pixel.global/idgpixel7.18.00;sz1x1;ord=92429095?");
    }
}
Avatar billede svedendeko Nybegynder
01. juni 2004 - 19:56 #7
Jeg har omskrevet din kode lidt så den virker som jsp, og kørt den fra appserveren og der ser det ud til at det virker, den bruger hostfilen.

Men hvorfor dulen dælen virker det så ikke når jeg connecter via javamail API'et ?
Avatar billede arne_v Ekspert
01. juni 2004 - 20:02 #8
Vi snakker om adressen på SMTP/POP3 serveren ikke ?

Jeg har aldrig hørt at navn brugt til at connecte med skulle have noget at sige
om hvad mailserveren gør.
Avatar billede svedendeko Nybegynder
01. juni 2004 - 20:10 #9
Jeg har netop gjort en opdagelse, jeg har taget så grueligt fejl igennem dette, appserveren, javamail benytter hostfilen, alt er som det skal være tilbage står jeg som knolden der troede han havde et problem han slet ikke havde..

Mailserveren hoster flere domæner. Javamail apiet skelner så vidt jeg har fattet ikke imellem hvilken HOST den connecter til og hvilket domæne den skal hente post fra.

arne_V og soreno skriv lige et svar så i kan få jeres point.

Mange tak for hjælpen..
Avatar billede arne_v Ekspert
01. juni 2004 - 20:13 #10
svar
Avatar billede soreno Praktikant
01. juni 2004 - 21:05 #11
Ok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester