2016-03-05 58 views
0

我想獲得相同的輸出(在Java中),我得到我這樣做是在終端(與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值。

回答

0

您可以使用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(); 

希望這有助於!

相關問題