Java HTTP 请求大小

Java HTTP Request Size

我从包 org.apache.http.client.methods 创建了 HTTPRequestBase 对象 之后我通过 CloseableHttpClient

发送对象
protected CloseableHttpClient httpClient;
HttpRequestBase httpRequest = this.createHttpRequest(request);
this.httpClient.execute(httpRequest, new BasicResponseHandler());

我想在发送之前检查 httpRequest 的大小。我需要将其限制为特定数量的 MB。

如何检查它的大小?

这并不容易。请求的 header 和 body 是 HTTP 应用程序的一部分 protocol.if 您的服务器使用 ssl,证书作为 SSL / TLS 配置的一部分发送...在 HTTP 启动之前.即使是对 HTTP 请求中数据量的简单测量也很棘手。典型的 HTTP 堆栈不会 assemble 将整个请求消息放在一个地方,也不会保留已发送数据的累计总数。根据您使用的 HTTP 堆栈,您可以(理论上)使用自定义套接字工厂和计算发送字节数的套接字流。