Problem z połączeniem do witryny i uzyskaniem od niej zawartości w Java za pomocą Socket

0

Witam, jak już w temacie napisałem mam problem z połączeniem do witryny i uzyskaniem od niej zawartości, ogólnie to nie wiem jak to zrobić :)

Mam coś takiego:

Main.java:
package com.***********.humonbot;

import java.io.IOException;
import java.net.Socket;

import com.kuriongames.humonbot.utils.ConnectUtils;

public class Main {
	
	public boolean Running = false;

	public Main() throws IOException {
		// HumonBot FTP User: *********** Pass: *************
		
		Running = true;
		
		Socket sock = ConnectUtils.connect("humonbot.cba.pl", 80);
		
		while(Running) {
			
		}
		
		sock.close();
	}
	
	public static void main(String[] args) throws IOException {
		new Main();
	}
}

ConnectUtils.java:

package com.***********.humonbot.utils;

import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;

public class ConnectUtils {
	public static Socket connect(String conURL, int port) throws IOException {
		Socket sock = new Socket(InetAddress.getByName(conURL), port);
		
		if(!sock.isConnected()) {
			sock.setTcpNoDelay(true);
			sock.connect(new InetSocketAddress(conURL, port));
		}
		
		return sock;
	}
}

Czy by mógł ktoś mi pomóc?

0

Dane prywatne oznaczone * :)

4

java.net.Socket to bardzo niskopoziomowa klasa. Czemu nie użyjesz czegoś wysokopoziomowego?

4

Retrofit, RestTemplate, JAX-RS i pewnie ze 100 innych analogicznych bibliotek do łączenia javy z http, a ty bierzesz socket... Jak bardzo chcesz, to się da, ale protokół HTTP oczekuje zapytania wysłanego w odpowiedni sposób, nie wystarczy się połączyć pod dane IP tylko trzeba wysłać poprawnego HTTP GET.

0

Dobra, dzięki! Znajdę sobie jakąś liba i spróbuje.
Pozdro

1

@Shalom: Nie mówiąc już o standardowym kliencie HTTP w JDK w Javie 11

1 użytkowników online, w tym zalogowanych: 0, gości: 1