kafka java 通过url连接服务器
答案:1 悬赏:50 手机版
解决时间 2021-03-15 19:00
- 提问者网友:佞臣
- 2021-03-15 05:06
kafka java 通过url连接服务器
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-03-15 05:18
可以连接到一个网络服务器并且能够从这个服务器下载指定的URL,程序中直接使用HTTP协议。程序将定义一个输出流,下载的URL的内容将来被写入这个流,通过socket来获得输入和输出流:
view sourceprint?
01 import java.io.*;
02 import java.net.*;
03 public class HttpClient {
04 public static void main(String[] args) {
05 try {
06 // Demo参数:
07 if ((args.length != 1) && (args.length != 2))
08 throw new IllegalArgumentException("Wrong number of args");
09 //定义输出流,下载的URL内容被写入这个流
10 OutputStream to_file;
11 if (args.length == 2) to_file = new FileOutputStream(args[1]);
12 else to_file = System.out;
13 //使用URL类来把用户指定的URL解析成几个部分
14 URL url = new URL(args[0]);
15 String protocol = url.getProtocol();
16 if (!protocol.equals("http")) // 检验是否满足支持的协议
17 throw new IllegalArgumentException("Must use 'http:' protocol");
18 String host = url.getHost();
19 int port = url.getPort();
20 if (port == -1) port = 80; //如果没有指定端口,用默认端口
21 String filename = url.getFile();
22 // 打开一个连接到指定主机和端口的网络socket连接
23 Socket socket = new Socket(host, port);
24 // 通过socket来获得输入和输出流
25 InputStream from_server = socket.getInputStream();
26 PrintWriter to_server = new PrintWriter(socket.getOutputStream());
27
28 // 发送HTTP GET命令给网络服务器,指定要下载的文件
29 // 使用了一个老版本非常简单的HTTP协议
30 to_server.print("GET " + filename + "\n\n");
31 to_server.flush(); // 立即发送
32 // 现在读取服务器的响应,把接收到的内容写入文件
33 byte[] buffer = new byte[4096];
34 int bytes_read;
35 while((bytes_read = from_server.read(buffer)) != -1)
36 to_file.write(buffer, 0, bytes_read);
37 // 当服务器关闭连接时,也关闭stuff
38 socket.close();
39 to_file.close();
40 }
41 catch (Exception e) { // 发布错误
42 System.err.println(e);
43 System.err.println("Usage: java HttpClient []");
44 }
45 }
46 }
view sourceprint?
01 import java.io.*;
02 import java.net.*;
03 public class HttpClient {
04 public static void main(String[] args) {
05 try {
06 // Demo参数:
07 if ((args.length != 1) && (args.length != 2))
08 throw new IllegalArgumentException("Wrong number of args");
09 //定义输出流,下载的URL内容被写入这个流
10 OutputStream to_file;
11 if (args.length == 2) to_file = new FileOutputStream(args[1]);
12 else to_file = System.out;
13 //使用URL类来把用户指定的URL解析成几个部分
14 URL url = new URL(args[0]);
15 String protocol = url.getProtocol();
16 if (!protocol.equals("http")) // 检验是否满足支持的协议
17 throw new IllegalArgumentException("Must use 'http:' protocol");
18 String host = url.getHost();
19 int port = url.getPort();
20 if (port == -1) port = 80; //如果没有指定端口,用默认端口
21 String filename = url.getFile();
22 // 打开一个连接到指定主机和端口的网络socket连接
23 Socket socket = new Socket(host, port);
24 // 通过socket来获得输入和输出流
25 InputStream from_server = socket.getInputStream();
26 PrintWriter to_server = new PrintWriter(socket.getOutputStream());
27
28 // 发送HTTP GET命令给网络服务器,指定要下载的文件
29 // 使用了一个老版本非常简单的HTTP协议
30 to_server.print("GET " + filename + "\n\n");
31 to_server.flush(); // 立即发送
32 // 现在读取服务器的响应,把接收到的内容写入文件
33 byte[] buffer = new byte[4096];
34 int bytes_read;
35 while((bytes_read = from_server.read(buffer)) != -1)
36 to_file.write(buffer, 0, bytes_read);
37 // 当服务器关闭连接时,也关闭stuff
38 socket.close();
39 to_file.close();
40 }
41 catch (Exception e) { // 发布错误
42 System.err.println(e);
43 System.err.println("Usage: java HttpClient
44 }
45 }
46 }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯