java - 在Java中获得与Netcat相同的输出

标签 java sockets port serversocket netcat

我想要得到与在终端(使用 Netcat)中执行此操作时得到的相同输出(在 Java 中):

nc -l localhost 8080

我得到的输出是:

GET /?code=Mdf81e469-fca0-f04e-db95-278aff0323be HTTP/1.1
Host: localhost:8080
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de
Connection: keep-alive
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4

我需要这个是因为 GET 之后第一行的输出。我想将其作为 Java 中的 String 值。

最佳答案

您可以使用Runtime类的exec方法来执行此命令并返回结果。这是一个小示例,您可以根据您的要求进行修改:

  String[] commands = new String[]{"nc", "localhost", "8080"};
  Process childProc = Runtime.getRuntime().exec(command);
  InputStream in = childProc.getInputStream();
  int c;
  while ((c = in.read()) != -1) 
  {
    System.out.print((char)c);
  }
  in.close();

希望这有帮助!

关于java - 在Java中获得与Netcat相同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35814462/

相关文章:

java - 如何捕获从 lambda 抛出的异常

java - 如何在 JAVA 和 GLSL 之间设置和检索变量值?

node.js - 我应该使用 WebSocket 还是普通的 TCP 套接字?

unix - 为什么低于 1024 的端口有特权?

sql - 如何使用 SQL 语句获取 TCP PORT Oracle Server

redirect - 如何将 IIS 服务器中的特定端口重定向到其他端口

java - 什么 IDE 用于 Spring Framework Web 应用程序?

php - ReCaptcha - 无法打开套接字

javascript - Sails.js 套接字。好的一面和坏的一面。与 socket.io 的区别

java - 是否有 Java/Android 等效于 NSArray 的 iOS 函数 "componentsJoinedByString"?