使用 Retrofit+OkHttp,在数据发出去之前,怎样获取获取 @Field 所有参数进行签名,然后再把 sign 签名加入到请求参数里发出去完成请求 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nextdiscover
V2EX    Android

使用 Retrofit+OkHttp,在数据发出去之前,怎样获取获取 @Field 所有参数进行签名,然后再把 sign 签名加入到请求参数里发出去完成请求

  •  
  •   nextdiscover 2018-09-16 10:14:06 +08:00 12870 次点击
    这是一个创建于 2591 天前的主题,其中的信息可能已经有所发展或是发生改变。
    13 条回复    2018-12-19 15:26:52 +08:00
    zhchyu999
        1
    zhchyu999  
       2018-09-16 10:20:00 +08:00 via Android
    okhttp 有个拦截器
    saximoer
        2
    saximoer  
       2018-09-16 11:18:41 +08:00
    ohhttp 有一个 Interceptor 接口
    实现这个接口就 实现了拦截器的功能
    然后记得把这个拦截器加入 okhttp 的声明中就可以了
    hongch
        3
    hongch  
       2018-09-16 17:18:56 +08:00 via iPhone
    intercept 可以看一下 okhttp 源码 interceptchain 允许加入两个 intercept 分别是请求前和请求后
    nextdiscover
        4
    nextdiscover  
    OP
       2018-09-17 00:03:07 +08:00 via iPhone
    @zhchyu999 我试过了,拦截器拿到的参数只能是拦截器设置之前的参数,在 @filed 属性加入的参数拿不到
    nextdiscover
        5
    nextdiscover  
    OP
       2018-09-17 00:03:31 +08:00 via iPhone
    @saximoer 我试过了,拦截器拿到的参数只能是拦截器设置之前的参数,在 @filed 属性加入的参数拿不到
    nextdiscover
        6
    nextdiscover  
    OP
       2018-09-17 00:03:42 +08:00 via iPhone
    @hongch 我试过了,拦截器拿到的参数只能是拦截器设置之前的参数,在 @filed 属性加入的参数拿不到
    saximoer
        7
    saximoer  
       2018-09-17 00:19:03 +08:00
    wsxyeah
        8
    wsxyeah  
       2018-09-17 08:23:50 +08:00 via iPhone
    interceptor 里肯定不能直接拿到 retrofit 里的 field 啊,只能拿到 request body,可以从 request body 里取出字段再操作
    nextdiscover
        9
    nextdiscover  
    OP
       2018-09-17 09:17:35 +08:00 via iPhone
    @wsxyeah 嗯嗯,今天试试,谢谢
    nextdiscover
        10
    nextdiscover  
    OP
       2018-09-17 09:19:36 +08:00 via iPhone
    @saximoer 谢谢,我去看看
    hongch
        11
    hongch  
       2018-09-17 12:40:06 +08:00
    - - @nextdiscover 当然是拿 requestbody 如果是 get 请求就从 url 里拿
    zhchyu999
        12
    zhchyu999  
       2018-09-17 18:06:32 +08:00
    印象中好像是改不了,得 new 一个新的
    lx0758
        13
    lx0758  
       2018-12-19 15:26:52 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ   nbsp; Solana     2971 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 00:20 PVG 08:20 LAX 17:20 JFK 20:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86