OkHttp3调用使用Digest认证的接口

        OkHttp本身并不直接支持Digest认证,可以通过拦截器(Interceptor)来手动实现Digest认证的逻辑。

1、自定义Digest认证拦截器

@Slf4j
public class DigestAuthInterceptor implements Interceptor {
    @NotNull
    @Override
    @SneakyThrows
    public Response intercept(@NotNull Chain chain)  {
        Request original = chain.request();
        String ha1 = calculateHA1(USERNAME, REALM, PASSWORD);

        String method = original.method();
        String url = original.url().toString();
        String ha2 = calculateHA2(method, url);

        String nonce = generateNonce();
        String cNonce = generateNonce();
        String response = calculateResponse(ha1, nonce, NONCE_COUNT, cNonce, QOP, ha2);

        //构建Authorization头信息
        String authHeader = "Digest username=\"" + USERNAME + "\",realm=\"" + REALM + "\",nonce=\"" + no
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值