我想获得与在终端(使用 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();
希望这有帮助!