Whois Abfrage hinter Proxy

srea

Bekanntes Mitglied
Hallu zusammen,

ich habe ein Problem.
Und zwar versuche ich per Java eine whois-Abfrage zu machen. Allerdings klappt das nicht so ganz. Ich sitze hinter einem Proxy. Ich kann normale Seiten (Google) ohne Probleme ansprechen und bekomme den Quelltext aber wenn ich versuche auf Port 43 anstatt auf 80 zu verbinden kommt eine
Code:
java.net.MalformedURLException: unknown protocol: whois.arin.net

Mein Code sieht wie folgt aus:

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

public class Whois1 {
	
  public static void main(String s[]) {
    Whois1.dump("whois.arin.net:43", 43);
    System.out.println("**************");
  }

  public static void dump(String URLName, int port){
    try {
      DataInputStream di = null;
      FileOutputStream fo = null;
      byte [] b = new byte[1];

      // PROXY
      System.setProperty("http.proxyHost","PROXY") ;
      System.setProperty("http.proxyPort", "80") ;
      URL u = new URL(URLName);
      HttpURLConnection con = (HttpURLConnection) u.openConnection();
      con.setRequestProperty
         ("Proxy-Authorization", "USER");

      di = new DataInputStream(con.getInputStream());
      while(-1 != di.read(b,0,1)) {
         System.out.print(new String(b));
      }
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Ich habe es über einen Socket dann versucht, allerdings scheiter ich da an der Übergabe der Daten für den Proxy.

Vielen Dank im voraus!

Grüße
django
 
Ist port 43 auf dem Proxy überhaupt freigegeben?

Fragen sie ihren System- oder Netzwerkadministrator - da werden sie geholfen ;-)

Telnet hat doch die Möglichkeit einen Port anzusprechen - damit könntest du testen ob der Proxy klemmt oder nicht.
 
... ohne Probleme ansprechen und bekomme den Quelltext aber wenn ich versuche auf Port 43 anstatt auf 80 zu verbinden kommt eine
Code:
java.net.MalformedURLException: unknown protocol: whois.arin.net
Die Fehlermeldung hat nichts mit dem Port zu tun. Übersetz sie doch mal: Er kennt das Protokoll nicht! Ist ja auch keines angegeben in dem String den du da übergibst.
 
Des weiteren ist das Whois-Protokoll was anderes als Http. Ergo macht es doch auch null Sinn das ganze auf HttpUrlConnection zu casten. Außerdem bezweifle ich dass Java von Haus aus Whois unterstützt. Ein Blick ins RFC 3912 zeigt aber dass sich das ganze mit Leichtigkeit per Socket selbst machen lassen sollte.
 
Vielen Dank für die schnellen Antworten.

@Andi_CH: Das werde ich mal tun 🙂

@HoaX: Ich habe (wie geschrieben) über Socket versucht, allerding komm ich da nicht durch den Proxy... Weiss der Geier warum. Ich tippe es hängt an der Authentifizierung. Habe einige Beispiele im INternet gefunden. Allerdongs kommt bei copy/paste + Zugangsdaten ändern immer "Connection refused". Keine Ahnung was ich falsch mache 🙁
Wegen dem Protokoll: Man braucht kein http:// oder ftp:// davor oder? Wenn ich das :43 weglasse kommt eine "no protocol" Fehlermeldung. Also erkennt er schon das er da das tcp/udp Protokoll benutzen soll.
 
Ich bezweifle, dass du mit einem HTTP-Proxy das ganze machen kannst (höhstens dann die whois-Sachen von einer Internetseite parsen). Es könnte glaube ich mit einem socks-Proxy gehen.
Naja, http und ftp brauchst du bei http und ftp Protokollen. Da es aber nicht der Fall ist...
 

Zurück
Oben