Во-первых, вам нужно позвонить flush()
, чтобы убедиться, что буферизованные данные действительно записываются в сокет, когда вы будете готовы.
bw.write("GET / HTTP/1.1\r\n");
bw.write("Accept: text/html\r\n");
bw.write("User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36\r\n");
bw.write("\r\n");
bw.flush(); // ADD THIS LINE
Во-вторых, вам нужно отправить действительные заголовки HTTP 1.1. RFC довольно сложны, что является еще одной причиной полагаться на существующие уважаемые клиентские библиотеки HTTP, но здесь и в других местах есть информация, которая может помочь, например, this . Например, вы пропустили хотя бы заголовок Host: