Website lesen

Dann muss ich ja meine IP auf den erzeugten Socket legen, oder?


InetAddress addr = InetAddress.getByName("Localhost");
Socket sock = new Socket(addr, 80);
PrintWriter writer = new PrintWriter(sock.getOutputStream(), true);
final BufferedReader reader = new BufferedReader(new InputStreamReader(sock.getInputStream()));

sock.connect(InetAddress.getByAddress(new byte[]{(byte)209,(byte)85,(byte)229,(byte)106}), 500);

for(i=0;i<=10;i++){
System.out.println(reader.readLine());
}


Dann wird aber wieder beim rotmakierten ein Fehler angezeigt
 
Moin,

aha - eine Fehlermeldung ... und ich darf jetzt raten, welche? Kann ich dabei auch was gewinnen? :suspekt:

Was sagt denn die Schnellkorrektur dazu ?

Also folgendes funktioniert hier bei mir einwandfrei:
SocketAddress sockaddr = new InetSocketAddress(Config.getInstance().m_strAdress);
Socket csock = new Socket();
csock.connect(sockaddr, REPSOCKETTIMEOUT);

Gruß
Klaus

[EDIT] warum also nicht einfach "sock.connect( addr );" ? ? ?
[EDIT-2] sorry, ich sehe gerade, dass es bei mir korrekt so heißt:
SocketAddress sockaddr = new InetSocketAddress(Config.getInstance().m_strAdress, PORTNUMMER);
 
Zuletzt bearbeitet:
Nimm nochmals den ersten Code von mir, ich bin mir relativ sicher, dass der funktionieren müsste.
Java:
try {
  URL url = new URL("http://www.google.com");
  URLConnection connection = url.openConnection();
  InputStream is = connection.getInputStream();
  BufferedReader reader = new BufferedReader(new InputStreamReader(is));
  while ((line = reader.readLine()) != null) {
    System.out.println(line)
  }
} catch (MalformedURLException ex) {
  ex.printStackTrace();
} catch (IOException ex) {
  ex.printStackTrace();
}
Kann es leider gerade nicht testen.
 
Zuletzt bearbeitet:
Hallo java123,

ja, da muss ich Dir völlig Recht geben - das sollte so klappen!
Ich habe hier bei mir ein ähnliches Konstrukt gefunden, das Funktioniert. Allerdings lese ich dabei eine Buffer nicht zeilenweise sondern byteweise bis zu einem Endezeichen aus!

Gruß
Klaus
 
Mit einer URL hat es bei mir auch schon funktioniert, aber würde es auch gern mit der
IP probieren.
Die Klasse URL nimmt aber nur eine URL und ich kenne keine andere Klasse, die wie URL funktioniert aber mit der IP arbeitet.
Gibt es überhaupt so eine Klasse? Ich hab da noch nicht wirklich den Überblick über die wichtigsten Klassen (hab erst vorgestern mit Java begonnen)
Wenns die nicht gibt bleiben eh nur mehr Sockets
 
Du musst einfach noch das Protokoll angeben, also z.B. http.

Java:
URL url = new URL("http://74.125.77.104");
Für die Google-Webseite, oder bei dir ein Server läuft
Java:
URL url = new URL("http://127.0.0.1");
anstatt localhost.
 

Neue Beiträge

Zurück