gpt4 book ai didi

java - 拦截查询字符串

转载 作者:行者123 更新时间:2023-11-29 20:08:59 24 4
gpt4 key购买 nike

我需要为OKHttp写一个中间件来拦截所有发送的查询参数(key1=value1&key2=value2&...)并根据参数生成一个摘要然后放在特定的header上并将其与请求一起发送,我可以通过以下方式拦截所有请求:

OkHttpClient httpClient = new OkHttpClient();  
httpClient.interceptors().add(new Interceptor() {
@Override
public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
Request original = chain.request();

String digest = "How can I get sended paramters?";

Request request = original.newBuilder()
.header("User-Agent", "Your-App-Name")
.header("Digest", digest)
.method(original.method(), original.body())
.build();

return chain.proceed(request);
}
});

但我找不到检索参数列表的方法!有什么想法吗?

最佳答案

已经有一段时间了,但我相信你可以做到:

Request original = chain.request();
String params = original.url().query();

虽然目前没有 android 环境来测试它。如果不看okhttp javadoc对于 RequestHttpUrl

编辑

对于帖子正文,有一个问题 here我认为它可以满足您的需求,但简而言之,它类似于:

Request original = chain.request();
Buffer buffer = new Buffer();
original.body().writeTo(buffer);
String bodyStr = buffer.readUtf8();

关于java - 拦截查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35294728/

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