gpt4 book ai didi

java - 如何在 Java 中打印/获取传入 HTTP POST 请求的有效负载(使用套接字)

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:08:27 24 4
gpt4 key购买 nike

对于安全软件类(class),我创建了一个小型中间人代理。我已经到了拦截关键消息的地步。此消息是 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 个字节。因为这是一个连接保持 Activity 流,该流永远不会关闭,因此“readline”方法一直在等待。

https://community.oracle.com/thread/1691291 中所述

关于java - 如何在 Java 中打印/获取传入 HTTP POST 请求的有效负载(使用套接字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26937100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com