对于安全软件课程,我创建了一个小型的中间人代理。我已经到了截取关键信息的地步。此消息是HTTP POST请求,要捕获的标志在有效负载中。
例如
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,它可以打印所有行,但是当我继续时打印任何来自流的内容,甚至为null,我仍然没有任何输出。
我搜索了一段时间,但找不到任何有用的东西。可能有一个非常简单的解决方案,我似乎无法提出。
谢谢
解决了。我做错的是读取一行而不是读取37个字节。由于这是一个连接保持活动的流,因此该流从未关闭,因此“ readline”方法一直在等待。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句