Java LittleProxy修改请求参数示例

Java LittleProxy修改请求参数示例,java,httprequest,little-proxy,Java,Httprequest,Little Proxy,我一直在玩Littleproxy,发现修改响应很容易,但没有任何修改请求参数的好例子 在网上我只找到了一个例子,修改post数据。但却无法让它发挥作用 请举例说明如何获取请求参数并对其进行修改 我有这个: public HttpResponse proxyToServerRequest(HttpObject httpObject) { if(httpObject instanceof FullHttpRequest){ FullHttpRequest request =

我一直在玩Littleproxy,发现修改响应很容易,但没有任何修改请求参数的好例子

在网上我只找到了一个例子,修改post数据。但却无法让它发挥作用

请举例说明如何获取请求参数并对其进行修改

我有这个:

public HttpResponse proxyToServerRequest(HttpObject httpObject) {

    if(httpObject instanceof FullHttpRequest){
        FullHttpRequest request = (FullHttpRequest) httpObject;

        if(request.getMethod() == HttpMethod.POST
                && request.getUri().contains("/post")){

            CompositeByteBuf contentBuf = (CompositeByteBuf) request.content();           

            String contentStr = contentBuf.toString(CharsetUtil.UTF_8);

            System.out.println("Post content for " + request.getUri() + " : " + contentStr);

            String newBody = contentStr.replace("e", "ei");

            ByteBuf bodyContent = Unpooled.copiedBuffer(newBody, CharsetUtil.UTF_8);

            contentBuf.clear().writeBytes(bodyContent);
            HttpHeaders.setContentLength(request, newBody.length());
        }
    }

    return null;
}

您知道其他好例子吗?

例如,您可以删除如下特定标题:

@Override
public HttpResponse proxyToServerRequest(HttpObject httpObject)
{
    if (httpObject instanceof HttpMessage)
    {
        HttpHeaders headers = ((HttpMessage)httpObject).headers();
        headers.names().forEach(h -> headers.remove(headerName));
    }

    return super.proxyToServerRequest(httpObject);
}