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