diff --git a/pom.xml b/pom.xml index 7b1b855..a78af89 100644 --- a/pom.xml +++ b/pom.xml @@ -12,8 +12,8 @@ 1.0 jar - 18 - 18 + 17 + 17 UTF-8 diff --git a/src/main/java/ru/molokoin/sourceListener/HttpClient.java b/src/main/java/ru/molokoin/sourceListener/HttpClient.java new file mode 100644 index 0000000..766c927 --- /dev/null +++ b/src/main/java/ru/molokoin/sourceListener/HttpClient.java @@ -0,0 +1,57 @@ +package ru.molokoin.sourceListener; +import java.net.*; +import java.io.*; + +/** + * This program demonstrates a client socket application that connects to + * a web server and send a HTTP HEAD request. + * + * @author www.codejava.net + */ +public class HttpClient { + URL url; + + public static void main(String[] args) { + HttpClient cli = new HttpClient(); + try { + cli.url = new URL("http://www.molokoin.ru"); + } catch (MalformedURLException ex) { + ex.printStackTrace(); + return; + } + + String hostname = cli.url.getHost(); + int port = 3000; + + try (Socket socket = new Socket(hostname, port)) { + + OutputStream output = socket.getOutputStream(); + PrintWriter writer = new PrintWriter(output, true); + + writer.println("HEAD " + cli.url.getPath() + " HTTP/1.1"); + writer.println("Host: " + hostname); + writer.println("User-Agent: Simple Http Client"); + writer.println("Accept: text/html"); + writer.println("Accept-Language: en-EN"); + writer.println("Connection: close"); + writer.println(); + + InputStream input = socket.getInputStream(); + + BufferedReader reader = new BufferedReader(new InputStreamReader(input)); + + String line; + + while ((line = reader.readLine()) != null) { + System.out.println(line); + } + } catch (UnknownHostException ex) { + + System.out.println("Server not found: " + ex.getMessage()); + + } catch (IOException ex) { + + System.out.println("I/O error: " + ex.getMessage()); + } + } +} diff --git a/src/main/java/ru/molokoin/sourceListener/SourceListener.java b/src/main/java/ru/molokoin/sourceListener/SourceListener.java index 0bec7da..b83bfc9 100644 --- a/src/main/java/ru/molokoin/sourceListener/SourceListener.java +++ b/src/main/java/ru/molokoin/sourceListener/SourceListener.java @@ -1,8 +1,20 @@ package ru.molokoin.sourceListener; public class SourceListener { + public static void main(String[] args) { - System.out.println(Thread.currentThread().getName()); + HttpClient client = HttpClient.newBuilder() + .version(Version.HTTP_1_1) + .followRedirects(Redirect.NORMAL) + .connectTimeout(Duration.ofSeconds(20)) + .proxy(ProxySelector.of(new InetSocketAddress("www.ya.ru", 80))) + .authenticator(Authenticator.getDefault()) + .build(); + + +HttpResponse response = client.send("GET", BodyHandlers.ofString()); +System.out.println(response.statusCode()); +System.out.println(response.body()); } } diff --git a/target/classes/ru/molokoin/sourceListener/HttpClient.class b/target/classes/ru/molokoin/sourceListener/HttpClient.class new file mode 100644 index 0000000..b98227d Binary files /dev/null and b/target/classes/ru/molokoin/sourceListener/HttpClient.class differ diff --git a/target/classes/ru/molokoin/sourceListener/SourceListener.class b/target/classes/ru/molokoin/sourceListener/SourceListener.class index 26f08ca..ef803fe 100644 Binary files a/target/classes/ru/molokoin/sourceListener/SourceListener.class and b/target/classes/ru/molokoin/sourceListener/SourceListener.class differ