关于安全软件的课程,我创建了一个小型的中间人代理。 我已经到了拦截关键信息的地步。此消息是HTTP POST请求,要捕获的标志位于有效负载中。
e.g。
POST http://someurl.com/index.php HTTP/1.1
Origin: null
User-Agent: Mozilla/5.0 (Unknown; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.7 Safari/534.34
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Content-Length: 37
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
Accept-Encoding: gzip
Accept-Language: en-US, *
Host: someurl.com
所以有效载荷,一个37字节的标志,显然在那里,但是当我打印它时,没有任何东西出来(如你所见)。
您将使用什么代码来打印有效负载,因为我知道我正在使用Java.net套接字(即,有一个输入流可以做任何事情。)目前我附加了一个BufferedReader打印所有行,但是当我继续打印来自流的任何东西,即使是空的,我仍然没有得到任何输出。
我已经搜索了一段时间但却找不到任何有用的东西。可能有一个非常简单的解决方案,我似乎无法想出来。
由于
答案 0 :(得分:1)
解决。我做错了是读取一行而不是读取37个字节。因为这是一个连接保持活动流,所以流从未关闭,因此'readline'方法一直等待着。
中讨论过